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
Search - "learning how to code"
-
!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 -
0. Plan before you code. Document everything. You won't remember either your idea or those clever implementations next week (or next month, or next year...).
1. Don't hack your way through, unless that's what you intend to do. Name your variables, functions etc. neatly: autocomplete exists!
Protip: Sometimes you want to check a quick language feature or a piece of code from one of your modules. Resist the urge to quickly hack in the test into your actual project. Maintain a separate file where you can quickly type in and check what you're looking for without hacking on your project (For example, in Python, you can open a new terminal or IDLE window for those quick tests).
2. Keep a quiet environment where you can focus. Recommend listening to something while coding (my latest fad is on asoftmurmur.com). Don't let anything distract you and throw your contextual awareness out of whack.
3. Rubber ducks work. Really. Talking out a complex piece of logic, or that regex or SQL query aids your mind greatly in grasping the concept and clearing the idea. Bounce off code and ideas with a friend or colleague to catch errors and oversights faster. Read more here: https://en.wikipedia.org/wiki/...
4. Since everyone else is saying this (and because it merits saying), USE VERSION CONTROL. Singular most important thing to software development aside from planning and documenting.
5. Remember to flout all of the above once in a while and just make a mess of a project where you have fun throwing everything around all over the place. You'll make mistakes that you never thought were possible by someone of your caliber :) That's how you learn.
Have fun, keep learning!3 -
After spending a few months on this site, what strikes me the most, is how unhappy a lot of programmers are.
It kind of makes me sad to see so many of you struggle with office politics bullshit everyday.
I have a confession to make.
I've never had a programming job, or freelanced, yet I have made a very comfortable living with programming and marketing for the past 20 years.
I make my living by finding niches where there is shit software, and creating a better alarm clock.
The first 5-10 years of doing this, I worked my ass off (throughout my twenties)
But during most of my thirties, I barely had to
work to keep it all up. I get residual income still
from stuff I did 10 years ago.
I'm curious if anyone at all would be interested in learning how to do this, quitting their job, for example, or, just having the freedom to write your own code without answering to anybody but your own customers. Many of whom you never have to talk to, they go to your site, they buy, and rarely ever send emails (if you do it right)
Everybody here has knowledge that is so bankable, yet they seem to just surrender to
asshole bosses and clients. It doesn't have to
be like that.
If you'd be interested in this, please ++ this.
I'm thinking of creating an online course about creating and marketing your own software, specifically for programmers like you guys. and girls.
I genuinely just want to see if there's interest. I hope that's ok.63 -
Me 6 months ago: "This is fucking genius. Beauutiful. Look at that code. See how I did this? Wow, I love it. Fuck I'm good"
Me Now: " What. the. ffuck? Wtf is this? What was I thinking? Goddamn. "
*reduces 3 methods and 37 lines to 2 methods and 8 lines*
Well at least it shows I'm still learning.3 -
My programming teacher is a freaking degenerate. He spend 7 months teaching us basic stuff like if-clauses, while-loops and stuff like that over and over again - everyone was annoyed but he didn't listen to us because "some people still don't get it". (The reason for this could be their total absence during lessons but who am I to tell.)
Beginning of 2018 he realised we hadn't much time left to prepare for our final exam so he tried self-taught learning. 8 sorting algorithms, recursion, how to write classes and objects in less than a week. And of course there was a classtest about this - needless to say that like nobody passed it. He still has no clue why we are "so lazy and dumb".
One of his favourite code examples is a calculator. I don't know how many i've programmed and they've gotten more and more ridiculous. (Who the hell would want interfaces like IComparer in a calculator?)
He even wanted to convince us that for-loops can't count down (and that things like "i--" doen't exist.)
I could go on and on about this guy and his craziness.27 -
Lads, I will be real with you: some of you show absolute contempt to the actual academic study of the field.
In a previous rant from another ranter it was thrown up and about the question for finding a binary search implementation.
Asking a senior in the field of software engineering and computer science such question should be a simple answer, specifically depending on the type of job application in question. Specially if you are applying as a SENIOR.
I am tired of this strange self-learner mentality that those that have a degree or a deep grasp of these fundamental concepts are somewhat beneath you because you learned to push out a website using the New Boston tutorials on youtube. FOR every field THAT MATTERS a license or degree is hold in high regards.
"Oh I didn't go to school, shit is for suckers, but I learned how to chop people up and kinda fix it from some tutorials on youtube" <---- try that for a medical position.
"Nah it's cool, I can fix your breaks, learned how to do it by reading blogs on the internet" <--- maintenance shop
"Sure can write the controller processing code for that boing plane! Just got done with a low level tutorial on some websites! what can go wrong!"
(The same goes for military devices which in the past have actually killed mfkers in the U.S)
Just recently a series of people were sent to jail because of a bug in software. Industries NEED to make sure a mfker has aaaall of the bells and whistles needed for running and creating software.
During my masters degree, it fucking FASCINATED me how many mfkers were absolutely completely NEW to the concept of testing code, some of them with years in the field.
And I know what you are thinking "fuck you, I am fucking awesome" <--- I AM SURE YOU BLOODY WELL ARE but we live in a planet with billions of people and millions of them have fallen through the cracks into software related positions as well as complete degrees, the degree at LEAST has a SPECTACULAR barrier of entry during that intro to Algos and DS that a lot of bitches fail.
NOTE: NOT knowing the ABSTRACTIONS over the tools that we use WILL eventually bite you in the ASS because you do not fucking KNOW how these are implemented internally.
Why do you think compiler designers, kernel designers and embedded developers make the BANK they made? Because they don't know memory efficient ways of deploying a product with minimal overhead without proper data structures and algorithmic thinking? NOT EVERYTHING IS SHITTY WEB DEVELOPMENT
SO, if a mfker talks shit about a so called SENIOR for not knowing that the first mamase mamasa bloody simple as shit algorithm THROWN at you in the first 10 pages of an algo and ds book, then y'all should be offended at the mkfer saying that he is a SENIOR, because these SENIORS are the same mfkers that try to at one point in time teach other people.
These SENIORS are the same mfkers that left me a FUCKING HORRIBLE AND USELESS MESS OF SPAGHETTI CODE
Specially to most PHP developers (my main area) y'all would have been well motherfucking served in learning how not to forLoop the fuck out of tables consisting of over 50k interconnected records, WHAT THE FUCK
"LeaRniNG tHiS iS noT neeDed!!" yes IT fucking IS
being able to code a binary search (in that example) from scratch lets me know fucking EXACTLY how well your thought process is when facing a hard challenge, knowing the basemotherfucking case of a LinkedList will damn well make you understand WHAT is going on with your abstractions as to not fucking violate memory constraints, this-shit-is-important.
So, will your royal majesties at least for the sake of completeness look into a couple of very well made youtube or book tutorials concerning the topic?
You can code an entire website, fine as shit, you will get tested by my ass in terms of security and best practices, run these questions now, and it very motherfucking well be as efficient as I think it should be(I HIRE, NOT YOU, or your fucking blog posts concerning how much MY degree was not needed, oh and btw, MY degree is what made sure I was able to make SUCH decissions)
This will make a loooooooot of mfkers salty, don't worry, I will still accept you as an interview candidate, but if you think you are good enough without a degree, or better than me (has happened, told that to my face by a candidate) then get fucking ready to receive a question concerning: BASIC FUCKING COMPUTER SCIENCE TOPICS
* gays away into the night53 -
Learning soft skills.
I'm about as direct with coworkers and managers as I am on devRant. And I still think being painfully direct is often better than playing the heavily politicized office game of thrones.
But sometimes it's better to say:
"CTO, I think we need your skills to build bridges to other departments and manage recruitment. You're the only one who understands both technology and people, so drop your developer role and become our ambassador"
Instead of:
"Dear CTO, your code makes my eyes bleed. Your CS degree was a fucking waste of tax money, and it's quite clear that cheap college beer washed out all of your reasoning skills. We should fill the space you're taking up with a beanbag chair, because you're providing negative value to the company. How many investor cocks did you have to deep throat to get where you are?"
Now, I just pick option one, smile politely, and tell him we need to increase department budget as indemnification for having to work with a retard like him. Uh I mean... "to get developer salaries up to a competitive level so we can retain knowledge"10 -
So there it fucking goes.
Hi. I'm WillibertXXIV.
I'm not a programmer by trade; I have a more than fulltime job as a cook. As for the last year, I spent pretty much all my free time, overlapping my sleep time, to learn how to code.
All that so I can create a game that I started working on the same day I started my learning process. So far it's shit and it's going to stay that way for a long time. Only I can say this. It's my baby. It's fucking ugly and shit but it's mine.
Yesterday I broke it. I broke my baby. I don't know how it fucking happe. When I went to sleep I had a steady 175fps, nice realtime lightning and player / enemy that flowed like running water. I worked really hard to make that happened. Profiling, writing better code, profiling, etc. It's still not good, it's less shit.
I woke up, beautiful day. Not too warm, not too cold, that sweet spot right in the middle. Girlfriend already made the coffee. Perfect. Woke up, sat down to start my morning time work before going to my realjob and
BAM
Everything is shit, 20fps max. That one thing, gfx.waitforpresent, showing up in the profiler eating everything as the game run. Movements are now of stroboscopic nature. Light is still ok but what good does it do now fucking piece of shit. I'm not qualified enough for this shit.
Fuck,
Fuck this,
Fuck this shit,
Fuck this shit i'm out of here.26 -
Watching the Dutch government trying to get through the public procurement process for a "corona app" is equal parts hilarious and terrifying.
7 large IT firms screaming that they're going to make the perfect app.
Presentations with happy guitar strumming advertisement videos about how everyone will feel healthy, picnicking on green sunny meadows with laughing families, if only their app is installed on every citizen's phone.
Luckily, also plenty of security and privacy experts completely body-bagging these firms.
"It will connect people to fight this disease together" -- "BUT HOW" -- "The magic of Bluetooth. And maybe... machine learning. Oh! And blockchain!" -- "BUT HOW" -- "Shut up give us money, we promise, our app is going to cure the planet"
You got salesmen, promising their app will be ready in 2 weeks, although they can't even show any screenshots yet.
You got politicians mispronouncing technical terminology, trying hard to look as informed as possible.
You got TV presenters polling population support for "The App" by interviewing the most digitally oblivious people.
One of the app development firms (using some blockchain-based crap) promised transparency about their source code for auditing.... so they committed their source, including a backup file from one of their other apps, containing 200 emails/passwords to Github.
It's kind of entertaining... in the same way as a surgery documentary about the removal of glass shards from a sexually adventurous guy's butthole.
Imma keep watching out of morbid fascination.... from a very safe distance, far away from the blood and shit that's splattering against the walls.
And my phone -- keep your filthy infected bytes away from my sweet baby.
I'll stick with social distancing, regular hand washing, working from home and limited supermarket trips, thank you very much.26 -
I think the coolest project I did was a few years ago, it was actually a Minecraft plugin.
I decided to learn Java for Minecraft, and a few months after I started learning Java, I was approached by someone who'd like to work with me to create this full-blown Gun Game style gamemode for Minecraft. I made it clear I didn't have the most knowledge, but I was willing to learn.
We began working on the project, the projects main class was bigger than any project I had worked on. Within a few months, it became one of the more popular plugins out there, even though we were still in an alpha mode. Had nearly 1,000 servers running the plugin, over 10k+ players total testing out the plugin.
Cause of this project, I learnt how to properly organize my code, how to make it efficient, learnt how to network, learned how to properly secure and verify anything being sent by the client, working with dependencies, adding features that can support a bunch of other plugins that other developers had, and a bunch more.
Sadly we couldn't finish the plugin anymore, so we gave someone else the source code who has kept it updated to this day. (I know I didn't provide much insight into what I'm saying and just gave a general overview, got a killer headache.)2 -
Someone on a C++ learning and help discord wanted to know why the following was causing issues.
char * get_some_data() {
char buffer[1000];
init_buffer(&buffer[0]);
return &buffer[0];
}
I told them they were returning a pointer to a stack allocated memory region. They were confused, didn't know what I was talking about.
I pointed them to two pretty decently written and succinct articles, the first about stack vs. heap, and the second describing the theory of ownership and lifetimes. I instructed to give them a read, and to try to understand them as best as possible, and to ping me with any questions. Then I promised to explain their exact issue.
Silence for maybe five minutes. They disregard the articles, post other code saying "maybe it's because of this...". I quickly pointed them back at their original code (the above) and said this is 100% an issue you're facing. "Have you read the articles?"
"Nope" they said, "I just skimmed through them, can you tell me what's wrong with my code?"
Someone else chimed in and said "you need to just use malloc()." In a C++ room, no less.
I said "@OtherGuy please don't blindly instruct people to allocate memory on the heap if they do not understand what the heap is. They need to understand the concepts and the problems before learning how C++ approaches the solution."
I was quickly PM'd by one of the server's mods and told that I was being unhelpful and that I needed to reconsider my tone.
Fuck this industry. I'm getting so sick of it.26 -
Fuck code.org. Fuck code. Not code code, but "code" (the word "code"). I hate it. At least for teaching. Devs can use it as much as they want, they know what it means and know you can't hack facebook with 10 seconds of furiously typing "code" into a terminal. What the fuck are you thinking when you want me to hack facebook? No, when I program, it's not opening terminal, changing to green text and typing "hack <insert website name here, if none is given, this will result to facebook.com>" Can you just shut the fuck up about how you think that because you can change the font in google fucking docs you have the right to tell me what code can and can't do? No, fuck you. Now to my main point, fuck "code" (the string). It's an overused word, and it's nothing but a buzzword (to non devs, you guys know what you're talking about. how many times have you seen someone think they are a genius when they here the word "code"?) People who don't know shit don't call themselves programmers or devs, they call themselves coders. Why? It fucking sounds cool, and I won't deny that, but the way it's talked about in movies, by people, (fucking) code.org, etc, just makes people too much of a bitch for me to handle. I want everyone reading this rant who has friends who respect the fact that YOU know code (I truly believe everyone on devRant does), how it works, and it's/your limitations, AND that it takes hard work and effort, to thank god right now. If you're stuck with some people like me, I feel you. Never say "code" near them again. Say "program." I really hate people who think they know what an HTML tag is and go around calling themselves coders. Now onto my main point, code.org. FUCK IT. CAN YOU STOP RUINING MY FUCKING AP CS CLASS. NO CODE.ORG, I DON'T NEED TO WATCH YOUR TEN GODDAMN VIDEOS ON HOW TECHNOLOGY IS IMPORTANT, <sarcasm>I'VE BEEN LIVING UNDER A ROCK FOR THIRTY YEARS</sarcasm>. DO I REALLY NEED ANOTHER COPY OF SCRATCH? WAIT, NO, SCRATCH WAS BETTER. YOU HAD FUCKING MICROSOFT, GOOGLE, AND OTHER TECHNOLOGICAL GIANTS AND YOU FUCKED UP SO BAD YOU MADE IT WORSE THAT SCRATCH. JUST LETMECODE (yes I said that) AND STOP TALKING ABOUT HOW SOME IRRELEVANT ROBOT ARM DEVELOPED BY MIT IS USING AI AND MACHINE LEARNING TO MAKE SOME ROBOT EVOLVE?! IF YOU SPEND ONE MORE SECOND SAYING "INNOVATION" I'LL SHOVE THAT PRINT STATEMENT YOU HAVE A SYNTAX ERROR UP YOUR ASS. DON'T GET ME FUCKING STARTED ON HOW ITS IMPOSSIBLE TO DO ANYTHING FOR YOURSELF WHEN YOUR GETTING ALL THE ANSWERS WITHOUT DOING ANY WORK AND THE FACT THAT JAVASCRIPT IS YOUR FUCKING LANGUAGE. <sarcasm>GREAT IDEA, LETS GET THESE NEW PROGRAMMERS INTO A PROFESSIONAL ENVOIRMENT BY ADDING A DRAG AND DROP CODE (obviously we can say it) EDITOR</sarcasm> MAYBE IF YOU GOT THIS SHIT UP YOUR ASS AND TO YOUR BRAIN YOU'D ACTUALLY GET TO PRPGRAMMING IN YOUR ADVANCED AP COURSE. ITS CALLED FUCKING CODE.ORG FOR A REASON32
-
The Absolutely True Story of a Real Programmer Who Never Learned C.
I have a young friend named Sam who is quite a programming prodigy. Sam does know C! I need to make this clear: he’s not the titular programmer.
But a couple years ago Sam told me a story about a different programmer who never learned C, and I liked it so much that right on the spot I asked his permission to repeat it. (I could never just steal such a tale.)
Sam wasn’t always a programmer—actually he started in his later teens, in part because he was more of a jock, and in part because he was related to programmers and wanted to do his own thing. But, like all great programmers, once he was bitten by the bug he immersed himself completely in it.
One day Sam happened to be talking programming with his uncle, who was also a programmer but from way, way back.
“Hey,” said Sam, “I’m learning this language called C. You must know a lot of languages, did you ever study C?”
“No,” said the uncle, to Sam’s surprise. “I am one of the very few programmers who never had to learn C.”
“Because I wrote it.”
Oh, Sam’s last name is Ritchie.
What I love about this story is the idea of Dennis waiting Sam’s entire life to deliver this zinger. Just imagine sitting on a line that good, watching your nephew grow up and waiting, waiting until the one day he finally starts learning to code. Did he work on the line in his head at night? Like, “Hmm, how should I word it so I can deliver the punch line perfectly? Should I say ‘I never took a class on C?’ Nah, too awkward…”
The great thing about geniuses is how much effort they put into everything.
Courtesy : Wil Shiply.5 -
I see this is true.
I am learning software development I understand what the code does but the most difficult part is to think and think and think what code to implement and how you're going to code it to make the program work.6 -
dear anyone looking to teach kids programming (especially organizations):
- please be realistic. teach things your students can use. how to debug, how to solve realistic, real-world problems. not how to make a turtle draw a circle, that's not programming.
- please don't have blocks. just don't. they hurt.
- focus on your content instead of putting up posters on the wall with celebrities talking about the importance of programming
- don't call it 'code,' call it 'program.' do you know how different muggles think they are?
- please teach in a logical order. too many times have I seen commands --> functions --> variables/variable types --> then back to functions and return types.
- don't set an appropriate "age" to do it. please. its enough for people to learn to program, but to be told they're too "old" for a course? I can't tell you how many forgetful seniors and special needs students have been insulted. and don't even get me started on being too young. knowledge is knowledge, skill is skill, ability is ability.
- teach concepts with programming. don't separate them. they work better when they're taught together.
- understanding is more important than style. for beginners, fuck style. all of your program could be all on one line for fucks sake. I've had teachers chose style > functionality, because, fuck working programs, right?
- let your content speak for itself. this is not the place for celebrity endorsements.
- give resources for after a lesson is complete. when a beginner is finished, recommend more resources. you're never done learning.
most of these were things code.org did wrong. fuck them. I was in a constructive criticism mood today…5 -
Fucking kill me right now please. How the FUCK am I supposed to get any shit done when I'm learning something and the fucking DOCUMENTATION has been UNAVAILABLE for the past THREE MOTHERFUCKING DAYS.
GET YOUR SHIT TOGETHER MICROSOFT.
Fucking idiots.
It wouldn't be so fucking bad if things like this didn't happen all the time.
But when EVERYTHING is FUCKED - ALL THE TIME, it kinda makes a person lose all hope in humanity and technology.
A typical motherfucking day for me:
Wake up
Go to work
Come home
Eat dinner (if I remember)
Attempt to code shit for 1 - 3 hours before I have to sleep
CAN'T FUCKING CODE SHIT BECAUSE:
1. Internet disconnects every 5 fucking minutes
2. DOCUMENTATION SITES ARE FUCKING DOWN
3. Shit Windows is UPDATING
4. a previous windows UPDATE has royally motherFUCKED my PC
5. etc
FUCK14 -
!rant
Let's take a moment to appreciate interested and enthousiastic non-developers who really want to learn a programming language.
I am studying Medical IT at my college and most of my classmates aren't coming from an IT background.
We're currently working with Java, PHP, JavaScript and some require Node for their semester projects.
Some of my classmates approach me when they're stuck while coding and I try to teach them as much as possible so they understand what they are doing wrong and how to fix it.
I also show them how they can optimise their code step by step and they love it!
As a classmate told me yesterday:
"It's always so much fun working with you. I come up with a small problem, but I end up learning so much more about programming when solving a problem with you. I appreciate that."
It's a mindset I've learned when I was doing my developer apprenticeship back in the day. One of my colleagues told me: "if they want your help because they need a quick fix, tell them to kiss your ass. If you know they've already tried everything they could and ask you specifically because they want to understand what they are doing wrong, they are future developers with great potential, so go teach them."
May the force be with you, my enthousiastic little non-devs ❤️6 -
A Monday morning poem
I enter the bureau, feeling all relaxed and well,
my colleague looks up:
"Abandon all hope, welcome to hell."
This indeed, he doesn't say,
his face only twists a little in dismay:
"I need that schematic, did you finish it yet?
And there also some tests I'd like to get -
how was your week-end by the way?"
I start my computer, don't remember what I say ...
I grab some coffee, half a day is gone,
the PM pressures: "I want that asap done!"
I am cluttered in tasks and bullshit, too:
"Go fuck you right now - yes, I meant you!"
I don't say what I like to, I mentally punch a wall,
I crank some more code out and git-commit it all.
Some devRant on the lunch-break, some shallow talk,
I leave the building and take a short walk.
My mind rotates, I cannot enjoy the scenery now,
I return to my desk, and figure out what to handle and how.
But my plans are crashed by a colleague dashing in:
"I need you to do a test setup! I need to begin -"
I do the setup, I do some other stuff,
At the end of the day I feel totally rough,
Work is piling up even more -
"Tomorrow", I think and close the door.
At home, I just flop on on my bed -
I should be learning instead ... -
with some pizza and chill.
I think about sleeping, I hope that I will.
...
It is now Friday,
my brain is fried, too.
I am finished with this poem - how about you? :)7 -
Devs online be like "I started learning to code when I was 2 years old and submitted my first application at 5, since then I've made a few simple apps and pull in 2 million a day, not much but it pays the bills"
So discouraging to come up with a novel idea for a simple product and spend a lot of time just to realize you're absolutely lost and severely lack the knowledge to even produce a working product of any sort. All the while some kid makes something "simple" 10x more complex than what you failed to do, and in like a day nonetheless.
How do people just pick up so much knowledge so quickly? How do they just figure out information they couldn't have possibly known like it's intuition?
Life is hard man.14 -
I'm currently rewriting perfectly clean and functioning Scala code in Java (because "Enterprise", yay). The amount of unnecessary boilerplate I have to add is insane. I'm not even talking big complicated code but two liners or the lack of simple things like a range from 5 to 10.
Why do I have to write
List<Position> occupiedPositions = placedEntities.stream()
.flatMap((pe) -> pe.occupiedPositions().stream())
.collect(Collectors.toList());
instead of simply
val occupiedPositions = placedEntities.flatMap(_.occupiedPositions)
Why on earth does `occupiedPositions.distinct` suddenly become a monstrosity like `occupiedPositions.stream().distinct().collect(Collectors.toList())` where the majority of code is pure boilerplate? And this is supposed to be the new and better Java8 api which people use as evidence that Java is now suddenly "functional" (yeah no, just no).
Why do APIs that annotate parameters with @Nullable throw NullPointerExceptions when I pass a null? Why does the compiler not help prevent such stupidity? Why do we use static typing PLUS those annotations and it still crashes at runtime like every damn dynamic, interpreted language out there? That's not unfortunate, it's a complete waste of time.
Why is a simple idea like a range from x to 10 (in scala literally `x to 10`) not by default included in Java? There's Guava's version of Range which does not have a helper for integer ranges (even though they are the most used ones). Then there's apache.commons version which _has_ a helper for integers, but is strangely not iterable (wtf I don't even...).
Speaking of Iterable: How difficult could it be to convert an abstract Iterable<T> into a concrete List<T>? In scala it's surprisingly `someIterable.toList`. I found nothing like that so I took to stackoverflow where I found a thread in which people suggested everything from writing your own ListUtils helper class, using Guava (which is a huge dependency!) to using the new Java8 features inline (which is still about three lines long). I didn't know this was such a hard problem in computer science, TIL.
How anyone can be productive in this abomination of a language is beyond me now, even though I've used it for many years while learning to code (back then I didn't know there were much better ways to do things). The only good part is that I have to endure this nonsense for only about 3 days longer then I'm free again!12 -
Someone saw that i didn't use mouse while typing code and asked me how do i do that and i told him that i just use vim. He didn't know what it is and i told him some things that it has a learning curve and stuff and he told me that he will definetely look into it.
Come to the dark side kid.5 -
How the fuck am I expected to salvage a fucking project that has been handed down to me with.
- No fucking clear architecture
- No fucking documentation
- Fucking shitty ass code base with no fucking coding standards
- The previous team was fucking learning a whole fucking new technology stack *Not fucking kidding* making fucking mistakes left and right
- No code reviews
- Mixing fucking local and cloud enviroment together
- No fucking testing
- Feature that were supposed to be implemented and are not working
- No configuration all the stuff are hard coded
- Full responsiblity for the whole stack
- Only one other guy with me
- And this fucking project has been delayed for a year
- MUCH FUCKING MORE WHERE THAT CAME FROM
Like what the fuck am I expected to do? I took the job thinking that people knew what the fuck they were doing and surprise surprise that was a fucking bust.
the problem is also I am the junior and these fucking people have more experience than me, what the fuck happened to over seeing people's work, PM doesnt give a shit, developers dont give a shit nobody gives a shit.
But when I got this surprise surprise now everyone is interested in finishing the project
BULLSHIT11 -
We used to use Trello for our team boards and was starting to transition to Gitlab's issues for better code integration...
I became aware that my boss was being "demanded" to have a better analytics of our team performance so I started digging more insightful issue/tasks software like YouTrack ( Jetbrains ) and Jira ( Atlasian ).
After 2 months of trial and learning I suggested we go with YouTrack.
"We" are now using it for about 6 months already and it is a fucking mess.
My peers have no clue how to scrum, even after my efforts to teach them and they even spent a fucking 3 days workshop about it on fucking Google (!?!?) without me ( there is a rant about it ).
My boss is a nice person but the dude lacks any trace of competence to manage anyone other than him.
I'm tired of babysitting a man that is 10 years older than me and has a car that costs almost 10x mine.
I'm two days back from vacation and I almost rage quited 5 times.3 -
What I was supposed to do today:
Finish up some homework and code for a bit
What I actually did today:
1. Boot up my laptop to get started on homework
2. Open Spotify and try to connect my headphones
3. Reinstall Bluetooth and pulseaudio to connect to headphones
4. Connected! But the sound quality is shit
5. Spend an hour or so learning about codec sinks and how Bluetooth is the definition of an overengineered clusterfuck
6. Install some package from the aur to get AAC codec support
7. Now we have high fidelity audio, but the headphones still connect to the crappy SBC sink, so I spend another 45 minutes writing a shell script to automatically switch to the AAC sink when a Bluetooth headset connects
8. It’s finally working! But now I have no motivation to do my actual work. Fml8 -
Shalom my dudes!
A quick GT from my college years:
>be me
>barely knew how to program but eager to learn more and more
>end of first semester, teacher assigns a couple of classic games for extra points
>battleship, pacman, sudoku, tetris, etc. All done in C
>end up with tetris
>2 days later I have the final build, including all the tech shit like walljump
>start thinking to myself "this looks really fucking ugly, what's wrong with me??"
>look up graphic libraries for C when a light flashes on my computer screen
>*NCURSES*
>the next 2 weeks were a montage of me learning linux, understanding ncurses and redoing my code (plus bug fixing)
>presentation day
>palms are spaghetti
>knees? Spaghetti
>arms? Spaghetti
>class is impressed with my work
>professor comes up to the board and tells me that I get a 0 because it wasn't "pure C"
>clenched my jaw and walked towards the dean office
>"hey, mind if I show you something?"
>open my laptop and show him the game
>he's having a blast since every time you do a 5 row crunch (a tetris), a piece of clothing of a random model comes off
>explain to him what happened in the classroom
>he looks at my code, runs it on a plagiarism checker and tells me that he will edit the grade himself
> a week later there's a 10 on my grading area
>feelsgoodman6 -
"Don't reinvent the wheel..." - I read it often, still I hate to use foreign code. It's not only that I do it for learning purposes. I just don't trust them. I want to keep the control, I want to understand my application and I want to be to blame when things fuck up.
I would probably through my laptop if my website gets hacked because of some fucking plugin or code I found somewhere on the internet.
So yes, I will invent the wheel new. At least I will spent some time to understand how this particular wheel is made, how it rolls and how I can improve it for my specific situation.
Sometimes my tires have some uncommon profile, but they fit to the stuff they are made for.16 -
Somebody asked on how to get started on Full Stack web application development.
This is how I got started.
Client side Web Application Development:
---------------------------------------------------------------
• Start with basic HTML, CSS and JS, JSON. For quick learning, see W3Schools for these topic or YouTube it.
• Get a local web server. "200 OK!" webserver chrome extension is a good start. (https://chrome.google.com/webstore/...)
• Learn Chrome Dev Tools to debug the pages. YouTube it.
• Get a good IDE. I am very happy with VSCode. You can use it for very serious WebApps.
• Start learning JavaScript language in depth, but just related to Web Browser related topic or you would get sucked in server side too early.
• Install node.js. Learn NPM package manager. Learn basic node commands.
• Learn complexity of JS file referencing, JS modules in browser. Just learn, don't use it yet, to understand the benefits of code bundlers.
• Learn Webpack code bundler.
• Learn how to make you simple site much faster and using in Mobile using "Progressive Web Apps".
• Now learn to make modular UIs. I love React. Focus on getting the UI code modulear. Create Single Page sites. (You are not there yet to create a Web App) “Create-React-App” started kit is a good starting point.
• Learn to create multi-page site using React-router.
• Learn application state management using Redux.
• Learn to create application decision engine using Redux-Saga.
Practice and master each stage.
Along above, learn git / GitHub (to learn from others code), find good web resources like Medium / Smashing magazine, good YouTube channels etc. I subscribed to some popular Udemy courses too.
Server side Web development:
------------------------------------------
:) First learn client side Web Application development. Server side learning is another story.3 -
I have teens in my classroom who want elite hacker status but complain about doing programming exercises outside of class. >.<
I explain to them that learning to code takes a lot of practice and can be frustrating at first. Some still went to the dean complaining that my class is tough. I work at a private school where open communication is encouraged and social justice is a thing.
So, I'm over here like "How do I reach these kids?"
I'm optimistic and I try different approaches to teaching and learning. Some stuff has worked. A lot haven't.
I figure I'd ask here: Does anyone have a suggestion for any creative programming exercises/projects that are beginner-friendly, legal, and hacker-ish? (I teach intro to Java.)22 -
If you've spent time learning how to code and you're daydreaming about having a dev job but don't have one because you're too nervous to apply, just do it. The worst thing that can happen is that you'll get the job (and be stuck ranting like us).4
-
I'm pretty young for a dev and I am still learning as one but I find it sad how nobody at my middle school knows anything about code. But I'm glad I got this app because I get to see what devs are up to 😃 blessdd12
-
The more depressed you get over the current state of software is how you know you made it.When you start making your own opinions and say"wow these people are full of shit"
Primary example, the web development overblown bullshit. Fuck me dude, you really don't need that full featured react, vue, angular framework to make sense of shit. You are going over the top for fucking ajax functionality and state management that you could do by yourself without needing to learn a full framework, by the time you finish learning react you probably would have been better served with standard vanilla af JS and server side rendering.
Our world is full of fads and many talented people that perpetrate them. Its fine, it is a the nature of the beast. But a lot...A LOT of software is very POORLY written. And adding levels of abstraction over a very broken paradigm (web in this case) does and will not make it better.
Basically I am fucking hating being a web developer and want to go back to a time in which we cared about how much memory consumption our applications made as well as not worrying about the fucking frontend having the ability to implement machine learning.
I want to run sublime.exe and being sure that it is a native application to my system and not using a fucking contained web browser to implement my fucking text editor. With 20mb of ram at most instead of 500mb WTF.
I knew I made it when I could read comments on Hacker news and reddit and say "this idiot is full of shit", I knew I made it when I would sigh heavily at the idea of having another project rather than having a fan girl attitude towards it.
I knew I made it when people writing about software development meant shit to me rather than the wonder of what the fuck they were talking about.
I knew I made it when getting laid was more important to me than fucking around with code.
pussy > code
Fuck you.13 -
This here is some source code that i made. And I'll admit, I was a bit frustrated at the time of making. I just started learning to code in HTML and CSS a coulpe days ago. And a friend asked if I could make him a website. So I told him that I barely know the basics yet. And he says that it doesn't matter just as long as he gets a website. So now, a couple days of tryhard coding later, he raged about how bad the site looked and that he himself could have done a better job than I did. And yet the entire site had over 300 lines of code in it (perhaps not very much for you hardcore coders out there, but a biiig step for me) and several subpages, all with custom error pages and all. Although I'll admit, the design was a fucking ugly as fuck since i can design about as good as an alligator flies. But man was I mad after that, haven't talked to him since. The bastard. But to he point, in my rage i made this. An outburst of anger that I later refactored to fit a large amount of devs (since I reckon 99% of programmers deal with clients/customers instead of friends). And if anyone has a spare dns space to put the code on, then help yourself.
The link is:
https://pastebin.com/aFcK10YK
Have a good day!8 -
Learning a new programming language:
1. reading basics
2. creates small programs
3. plan new projects
4. search everything else in the internet
5. output: we have become code gods
*winks at stack overflow and github*5 -
➡️You Are Not A Software Developer⬅️
When I became a developer, I thought that my job is to write software. When my customer had a problem, I was ready to write software that solves that problem. I was taught to write software.
But what customers need is not software. They need a solution to their problem. Your job is to find the most cost-effective solution, what software often is not.
According to the universal law of software development, more code leads to more bugs:
e = mc²
Or
errors = (more code)²
The number of bugs grows with the amount of code. You have to prioritize, reproduce and fix bugs.
The more code you write, the more your team and the team after it has to maintain. Even if you split the system into micro services, the complexity remains.
Writing well-tested, clean code takes a lot of time. When you’re writing code, other important work is idle. The work that prevents your company from becoming rich.
A for-profit company wants to make money and reduce expenses. Then the company hires you to solve problems that prevent it from becoming rich. Confused by your job title, you take their money and turn it into expensive software.
But business has nothing to do about software. Even software business is not about software. Business is about making money.
Your job is to understand how the company is making money, help make more money and reduce expenses. Once you know that, you will become the most valuable asset in the company.
Stop viewing yourself as a software developer. You are a money maker.
Think about how to save and make money for your customers.
Find the most annoying problem and fix it:
▶️Is adding a new feature too costly? Solve the problem manually.
▶️Is testing slow? Become a tester.
▶️Is hiring not going well? Speak at a meetup and advertise your company.
▶️Is your team not productive enough? Bring them coffee.
Your job title doesn’t matter. Ego doesn’t matter either.
Titles and roles are distracting us from what matters to our customers – money.💸
You are a money maker. Thinking as a money maker can help choose the next skill for development. For example:
Serverless: pay only for resources you consume, spend less time on capacity planning = 💰
Machine Learning: get rid of manual decision-making = 💰
TDD: shorter feedback cycle, fewer bugs = 💰
Soft Skills: inspire teammates, so they are more productive and happy = 💰
If you don’t know what to learn next — answer a simple question:
What skills can help my company make more money and reduce expenses?
Very unlikely it’s another web framework written in JavaScript.
Article by Eduards Sizovs
Sizovs.net17 -
I could bitch about XSLT again, as that was certainly painful, but that’s less about learning a skill and more about understanding someone else’s mental diarrhea, so let me pick something else.
My most painful learning experience was probably pointers, but not pointers in the usual sense of `char *ptr` in C and how they’re totally confusing at first. I mean, it was that too, but in addition it was how I had absolutely none of the background needed to understand them, not having any learning material (nor guidance), nor even a typical compiler to tell me what i was doing wrong — and on top of all of that, only being able to run code on a device that would crash/halt/freak out whenever i made a mistake. It was an absolute nightmare.
Here’s the story:
Someone gave me the game RACE for my TI-83 calculator, but it turned out to be an unlocked version, which means I could edit it and see the code. I discovered this later on by accident while trying to play it during class, and when I looked at it, all I saw was incomprehensible garbage. I closed it, and the game no longer worked. Looking back I must have changed something, but then I thought it was just magic. It took me a long time to get curious enough to look at it again.
But in the meantime, I ended up played with these “programs” a little, and made some really simple ones, and later some somewhat complex ones. So the next time I opened RACE again I kind of understood what it was doing.
Moving on, I spent a year learning TI-Basic, and eventually reached the limit of what it could do. Along the way, I learned that all of the really amazing games/utilities that were incredibly fast, had greyscale graphics, lowercase text, no runtime indicator, etc. were written in “Assembly,” so naturally I wanted to use that, too.
I had no idea what it was, but it was the obvious next step for me, so I started teaching myself. It was z80 Assembly, and there was practically no documents, resources, nothing helpful online.
I found the specs, and a few terrible docs and other sources, but with only one year of programming experience, I didn’t really understand what they were telling me. This was before stackoverflow, etc., too, so what little help I found was mostly from forum posts, IRC (mostly got ignored or made fun of), and reading other people’s source when I could find it. And usually that was less than clear.
And here’s where we dive into the specifics. Starting with so little experience, and in TI-Basic of all things, meant I had zero understanding of pointers, memory and addresses, the stack, heap, data structures, interrupts, clocks, etc. I had mastered everything TI-Basic offered, which astoundingly included arrays and matrices (six of each), but it hid everything else except basic logic and flow control. (No, there weren’t even functions; it has labels and goto.) It has 27 numeric variables (A-Z and theta, can store either float or complex numbers), 8 Lists (numeric arrays), 6 matricies (2d numeric arrays), 10 strings, and a few other things like “equations” and literal bitmap pictures.
Soo… I went from knowing only that to learning pointers. And pointer math. And data structures. And pointers to pointers, and the stack, and function calls, and all that goodness. And remember, I was learning and writing all of this in plain Assembly, in notepad (or on paper at school), not in C or C++ with a teacher, a textbook, SO, and an intelligent compiler with its incredibly helpful type checking and warnings. Just raw trial and error. I learned what I could from whatever cryptic sources I could find (and understand) online, and applied it.
But actually using what I learned? If a pointer was wrong, it resulted in unexpected behavior, memory corruption, freezes, etc. I didn’t have a debugger, an emulator, etc. I had notepad, the barebones compiler, and my calculator.
Also, iterating meant changing my code, recompiling, factory resetting my calculator (removing the battery for 30+ sec) because bugs usually froze it or corrupted something, then transferring the new program over, and finally running it. It was soo slowwwww. But I made steady progress.
Painful learning experience? Check.
Pointer hell? Absolutely.4 -
Ok, so when I inherit a Wordpress site I've really stopped expecting anything sane. Examples: evidence that the Wordpress "developer" (that term is used in the loosest sense possible) has thought about his/her code or even evidence that they're not complete idiots who wish to make my life hell going forwards.
Have a look at the screen shot below - this is from the theme footer, so loaded on every page. The screenshot only shows a small part of the file. IT LITERALLY HAS 3696 lines.
Firstly, lets excuse the frankly eye watering if statement to check for the post ID. That made me face palm myself immediately.
The insanity comes for the thousands of lines of JQuery code, duplicated to hell and back that changes the color of various dividers - that are scattered throughout the site.
To make things thousands of times worse, they are ALL HANDED CODED.
Even if JavaScript was the only way I could format these particular elements I certainly wouldn't duplicate the same code for every element. After copy and pasting that JQuery a couple of times and normal developer would think one word, pretty quickly - repetition.
When a good developer notes repetition ways to abstract crap away is the first thought that comes to mind.
Hell, when I was first learning to code god knows how long ago I always used functions to avoid repetition.
In this case, with a few seconds though this "developer" could have created a single JQuery handler and use data attributes within the HTML. Hell, as bad as that is, it's better than the monstrosity I'm looking at now.
I'm aware Wordpress is associated with bad developers due to it's low barrier to entry, but this site is something else.
The scary thing is that I know the agency that produced this. They are very large, use Wordpress exclusively and have some stupidly huge clients that would be know nationally.
Wordpress truly does attract some of the most awful "developers" and deserves it's reputation.
If you're a good developer and use Wordpress I feel sorry for you, as you're in small numbers from my experience.
Rant over, have vented a bit and feel better. Thanks Devrant.6 -
Another real-world argument for why I always say git is worth learning properly.
Had to track a really weird bug down today. Had no idea where it came from, how long it'd been in the code and hadn't the foggiest what was causing it. Realistically it could have been introduced any time in the last year or two, and that's tens of thousands of commits in this repo.
Git to the rescue. Knocked up a quick script to test the case in question, fed it into "git bisect run", and 30 seconds later git found the exact (small) commit that caused the issue.
It's a brilliant part of git, yet it seems like almost no-one I know uses it. Some use "git bisect", but using "git bisect run" and passing a script to it seems to be alien to most - yet it's probably my most used tool when it comes to tracking down bugs like these.8 -
I have this great professor who taught us how to be logical human beings (not that I learned much of that haha). He introduced us to web dev. He started with the basic html shit, then proceed with php and sql. His lectures were awesome. He'll then proceed with code exercises. And we'll have mini 'codefights' in his classes! yey! He taught us that in programming, it is much more important to practice logic than master a single language(no hate please). I learned to love programming through his passion. :) I learned to program in his class, now I hope never to stop learning. :D8
-
It has been bugging the shit out of me lately... the sheer number of shit-tier "programmers" that have been climbing out of the woodwork the last few years.
I'm not trying to come across as elitist or "holier than thou", but it's getting ridiculous and annoying. Even on here, you have people who "only do frontend development" or some other lame ass shit-stain of an excuse.
When I first started learning programming (PHP was my first language), it wasn't because I wanted to be a programmer. I used to be a member (my account is still there, in fact) of "HackThisSite", back when I was about 12 years old. After hanging out long enough, I got the hint that the best hackers are, in essence, programmers.
Want to learn how to do SQL injection? Learn SQL - write a program that uses an SQL database, and ask yourself how you would exploit your own software.
Want to reverse engineer the network protocol of some proprietary software? Learn TCP/IP - write a TCP/IP packet filter.
Back then, a programmer and a hacker were very much one in the same. Nowadays, some kid can download Python, write a "hello, world" program and they're halfway to freelancing or whatever.
It's rare to find a programmer - a REAL programmer, one who knows how the systems he develops for better than the back of his hand.
These days, I find people want the instant gratification that these simpler languages provide. You don't need to understand how virtual memory works, hell many people don't even really understand C/C++ pointers - and that's BASIC SHIT right there.
Put another way, would you want to take your car to a brake mechanic that doesn't understand how brakes work? I sure as hell wouldn't.
Watching these "programmers" out there who don't have a fucking clue how the code they write does what it does, is like watching a grown man walk around with a kid's toolbox full or plastic toys calling himself a mechanic. (I like cars, ok?!)
*sigh*
Python, AngularJS, Bootstrap, etc. They're all tools and they have their merits. But god fucking dammit, they're not the ONLY damn tools that matter. Stop making excuses *not* to learn something, Mr."IOnlyDoFrontEnd".
Coding ain't Lego's, fuckers.36 -
Discovered this awesome community some months ago, and I've finally decided to make an account :D
Guess I should write a rant now.
We were initially a team of 2 to do a 'simple' app with AngularJS, NodeJS and Kendo UI in 2 months.
We had some problems with it, mainly because I'm 'in charge' of a big Java web application filled with legacy code and in process of a 'big change that was planned to be deployed for all users yesterday', and my coworker (also the project analyst) was still learning how Node and Angular work. And I'm not going to lie, I'm still learning new things everyday.
Situation 1 month after our start: coworker fired (due to offtopic reasons), replaced by a younger girl, and me still doing changes in the Java webapp.
Thank god I work better when under big pressure :p2 -
I have a junior who really drives me up a wall. He's been a junior for a couple of years now (since he started as an intern here).
He always looks for the quickest, cheapest, easiest solution he can possibly think of to all his tickets. Most of it pretty much just involves copy/pasting code that has similar functionality from elsewhere in the application, tweaking some variable names and calling it a day. And I mean, I'm not knocking copy/paste solutions at all, because that's a perfectly valid way of learning certain things, provided that one actually analyzes the code they are cloning, and actually modifies it in a way that solves the problem, and can potentially extend the ability to reuse the original code. This is rarely the case with this guy.
I've tried to gently encourage this person to take their time with things, and really put some thought into design with his solutions instead of rushing to finish; because ultimately all the time he spends on reworks could have been spent on doing it right the first time. Problem is, this guy is very stubborn, and gets very defensive when any sort of insinuation is made that he needs to improve on something. My advice to actually spend time analyzing how an interface was used, or how an extension method can be further extended before trying to brute-force your way through the problem seems to fall on deaf ears.
I always like to include my juniors on my pull requests; even though I pretty much have all final say in what gets merged, I like to encourage not only all devs be given thoughtful, constructive criticism, regardless of "rank" but also give them the opportunity to see how others write code and learn by asking questions, and analyzing why I approached the problem the way I did. It seems like this dev consistently uses this opportunity to get in as many public digs as he can on my work by going for the low-hanging fruit: "whitespace", "add comments, this code isn't self-documenting", and "an if/else here is more readable and consistent with this file than a ternary statement". Like dude, c'mon. Can you at least analyze the logic and see if it's sound? or perhaps offer a better way of doing something, or ask if the way I did something really makes sense?
Mid-Year reviews are due this week; I'm really struggling to find any way to document any sort of progress he's made. Once in a great while, he does surprise me and prove that he's capable of figuring out how something works and manage to use the mechanisms properly to solve a problem. At the very least he's productive (in terms of always working on assigned work). And because of this, he's likely safe from losing his job because the company considers him cheap labor. He is very underpaid, but also very under-qualified.
He's my most problematic junior; worst part is, he only has a job because of me: I wanted to give the benefit of the doubt when my boss asked me if we should extend an offer, as I thought it was only fair to give the opportunity to grow and prove himself like I was given. But I'm also starting to toe the line of being a good mentor by giving opportunities to learn, and falling behind on work because I could have just done it myself in a fraction of the time.
I hate managing people. I miss the days of code + spotify for 10 hours a day then going home.11 -
WTF is with the entire Angular2 eco system and "half instructions". Started learning it and every inch is a struggle, out dated docs and code samples and then this style of shit:
Google: "Angular2 and bootstrap"
Result: "Install ng-bootstrap to get native bootstrap components written in Angular by the Angular UI team"
Me: Install != work
Google: "ng-bootstrap not working"
Result: "You also need to install bootstrap css, heres how"
Me: Install, plus try component
Error: "Bootstrap requires jQuery"
Google: "Installing jQuery in Angular 2"
Result: <Instructions>
Me: Install, still not working
Google "Angular2 ng-bootstrap bootstrap jQuery"
Result: "Don't forget to also include Tether"
WHY DID THE FUCKING "ANGULAR-UI" TEAM NOT MENTION ANY OF THIS6 -
A while back, my little cousin (he’s 5 yo) came to visit me at home doing some coding, he asked me to teach him how to code, he wanted to make games for his friends to play, he is now learning Scratch and I’m planning to teach him Python next.6
-
Most kids just want to code. So they see "Computer Science" and think "How to be a hacker in 6 weeks". Then they face some super simple algebra and freak out, eventually flunking out with the excuse that "uni only presents overtly theoretical shit nobody ever uses in real life".
They could hardly be more wrong, of course. Ignore calculus and complexity theory and you will max out on efficiency soon enough. Skip operating systems, compilers and language theory and you can only ever aspire to be a script kiddie.
You can't become a "data scientist" without statistics. And you can never grow to be even a mediocre one without solid basic research and physics training.
Hack, I've optimized literal millions of dollars out of cloud expenses by choosing the best processors for my stack, and weeks later got myself schooled (on devRant, of all places!) over my ignorance of their inner workings. And I have a MSc degree. Learning never stops.
So, to improve CS experience in uni? Tear down students expectations, and boil out the "I just wanna code!" kiddies to boot camps. Some of them will be back to learn the science. The rest will peak at age 33.17 -
How did you break through your own barriers to finally learn programming?
My SO is constantly complaining that we don’t have enough money. I make a decent amount as a full-time dev at a large company, but we live in an expensive city and are currently going through a time of few funds.
He started driving delivery food orders, he likes it okay, but it pays very little. He still complains about money.
I want him to learn JavaScript.
He was once asked to make a website for a company he’s involved in. He only used SquareSpace, but he was never satisfied with their stock code. He went digging for JavaScript snippets he could use, and he made one of the most beautiful and responsive websites I’ve seen.
Since then, I’ve been encouraging him to learn JavaScript. I’m trying to convince him it will be a great source of additional income, he can make his own schedule while doing contract work, and he can ask me anything he wants while he’s learning. How many beginners have someone they can ask anything of, at any time?
He doesn’t want to learn. He doesn’t think he is capable. I remember this feeling before I learned to code. A chunk of someone else’s JS does look genuinely terrifying if you don’t know what it means. I want him to give it one honest try before he decides it’s “not for him,” but he isn’t open to it enough to try.
What can I do to help him understand he is capable? He’s in his mid-30s and insists he’s too old to catch up. He’s smart, detail-oriented, and I know he would write code that’s a million times cleaner than mine. He absolutely has a programmer inside of him, and I want to encourage him to simply try.
Is there something I can to do introduce JS in a non-threatening way? Or should I just accept his refusal and let it go? Thanks for any advice.18 -
Hi every developer! My name is Allen. English is not my native language so forgive me if I say something that does not make any sense. Let me tell you my story how I become a programmer. (I am still learning) My first computer was a DELL OptiPlex GX 720 desktop. My father bought it for our self-employee job. Before he allow me to use the computer, I used to sit next to him and watching what he do, what he click and what he gets. When he allow me to use the computer, I was slow at typing. One or 2 WPM (word per minute) my father taught me how to use the computer. Very slowly, my typing speed improves. I understand how to use the computer. but one day, I do what make me regret. I was playing with some executables, when I double clicking it, it does not work I used to associate files with apps. I associate music files with every player I want. So, I did what I used to, I associate exe files with windows media center! The computer started to open hundreds of windows media center (WMC for short) whenever an app is clicked, it opens windows media center. Today, I realized that windows were trying to open every app and every process that regularly run. However, since I associate it with WMC, instead of the app itself, it opens WMC some days after the mistake, I wonder how apps work and how I can create my own. My father told me before that a program is simply a binary file that the computer can read. However, it was too advanced to me at the time.I begin my search with google. Everytime I search, it says "learn to code" or something like that. I see some C++ code but, it was disgusting. when I read just a few lines of a hello world code in java. it was too complex
What I seen
#$$#% $%&$%&*#!@
~
(&*%&$ (_(*^% #&&* (^^$(&^$%^( %^*$())
~
^$70^(`*#%`*#&%^)*!" Hello world "#@
~
~
The actual code:
class helloworld
{
public static void main(String args[])
{
System.out.println("Hello World!");
}
}
I look for an easy way but my attempts fail. then. I push
I to learn how to code.I try learning java. but it still
Very complex. i tried LibertyBASIC. from LibertyBASIC to
Java. after learning LibertyBASIC, it was easy!
LibertyBASIC -> Java -> Ruby -> NOW, C# and XAML
Today, I am learning C# and XAML.
My first OS : Windows 7
My first Computer : DELL OptiPlex GX 720
My first successful click : The Start menu
My first used App : Microsoft Encarta 2009
My first created App : Hi-Lo(number-guessing game. written in LibertyBASIC)
Thankyou for reading this Long story.
8 -
Anyone else work in a codebase that is so deeply convoluted, that the only way to make new features work is to write new code in a similarly convoluted way?
Everyone wants to refactor our system, but we're a small shop with an insane amount of technical debt, so it likely won't happen for a long time. Any suggestions in the meantime? I feel like I'm spending more time figuring out how to make something work in our system then learning actual good practices.6 -
So I have been looking for a job for so long now. I keep losing faith every single time I get the dreaded "thank you for taking the time to apply but we did not find a match for you at this time" I am having such a hard time staying optimistic!
I've seriously lived thru some fckd up last few years, my father died, my grandpa died and I didn't get to see either of them.
I filed for a divorce from the worst most scamming fraudulent person ever and have survived and have come out the other side, thankfully I am rid of him and all crappy people in my life. I did it all without a plan on how to make it all better, I just went with it by knowing I didn't know where I would end up but I sure as hell wasn't going to stay in that situation, nope, not a chance.
While going thru a contentious divorce and court dates, I was also learning to code--it kept me looking forward to something. Once I graduated and received my certificate . . . PANDEMIC.
Now I am competing for jobs with people with years of experience! how am I ever going to get a job in this type of situation?
I know this has to end sometime and I will eventually be able to get a job but seriously how do you stay optimistic with so many rejections non stop day after day?
this is horrible and I don't know what else to do. I'm glad I found this space for my rant.20 -
So I can see everything thinks CS should be taught differently this week.
Based on all of the ways we could change it, something no one seems to be mentioning much is security.
Everyone has many ways of learning logical processors and understanding how they work with programming, but for every line of code taught, read or otherwise learnt you should also learn, be taught how to make it less vulnerable (as nothing is invulnerable on the internet)
Every language has its exploits and pitfalls and ways of overflowing but how you handle these issues or prevent them occurring should be more important than syntaxually correct code. The tools today are 100000x better then when I started with notepad.exe, CMD and Netscape.
Also CS shouldn’t be focused on tools and languages as such, seeing as new versions and ideals come out quicker then CS courses change, but should be more focused on the means of coming to logical decisions and always questioning why or how something is the way it is, and how to improve it.
Tl;dr
Just my two cents. -
For me, the worst co-worker is one who works by the principle of quantity over quality or a person who thinks quick and ugly fixes are a valid way to solve problems. Also: If there are unittest, don't fucking dare to change or remove them, just so your code runs without errors.
But in general, I just can't work with people who don't really think about what they are coding, people who just code straight ahead without making the simplest plan about how to solve something. Most of these people realize too late, that their approach was rather shitty, unreadable and unmaintainable.
I often see memes about "I forgot what I coded last [insert timespan here]". Though it is kind of normal, if it takes you too long to find out what you wrote, you should consider overthinking your coding approaches.
Just my 50 cents.
Damn I miss coding... 4 weeks of learning & exams is too long...6 -
That time you think you found your dream dev job...
But they really just needed a content entry person so the other dev could add 'senior' to his title and work on all the new fun projects, while you're stuck fixing IE7 bugs in his code from 3 years ago.
He used prototype instead of jQuery.
You try to tell them about responsive design, but they think everything needs a separate mobile version.
You spend half the day learning his custom functions to a cms he built 2 years ago, and he's in the process of rebuilding a new cms from the ground up, so you have to learn the new version too.
Was fired 3 days before my birthday, and didn't get my company gift, even though I contributed to every one else's gifts.
Fired 2 months before birth of my child so lost my insurance.
After my time there... They now build responsive, they now use jQuery for everything. I also showed them how to do IE testing with virtual box, instead of them using the secretary's computer.7 -
The best mentors I had were the people at the company where I started working.
I was doing my master thesis, bored like hell writing about someone else's idea. I decided to drop out and do a 10 week apprenticeship at this company. They had been my mentors in a university project and thought it would be nice to see what I could learn from them. I wasn't wrong.
During that time they taught me Ruby, JavaScript, Angular, Node and Git. They taught me about coding standards and how to write better, more maintainable code. They inspired me to keep learning and also to share my knowledge. In the end I didn't stay there, but they helped me get my first real job.
If it weren't for those 10 weeks my career would have been a lot different. I wouldn't be the developer I am today without them and I'm forever grateful.1 -
!rant
Trying not to suck at code.
A good coder seems to be some one who does mistakes quickly and has strategies on how to resolve them even quicker.
The speed at which you create/resolve your problem is the experience curve at which you are learning.
How do you deal with headaches and frustration when spending hours on the same issue?
What are common efficient strat for debugging?
I know this sounds very generalised but i feel like it takes me days to do small things and need to take breaks all the time to relieve the pressure.
Any advice for a rookie?11 -
I'm curious, how did you all start to like programming?
Mine was when I was in grade 7 or 8, which is around 13 years old. I watched a movie called "Hackers", Angelina Jolie was in this one (I think, it was a long time). I was curious on how to be a hacker, then I googled and found an article which said something about learning to code.
I wasn't sure I would enjoy it at first but after a while, I started enjoying that thrill you get when you solve that pesky little bug that took you days to get rid of. Haven't stopped learning more about programming and computers since.8 -
I noticed my co-worker has been using Atom editor for everything (we do Java/Scala). I asked, "So are you using the new language servers? How are you doing code completion?"
"I don't use code completion. I turn it off."
O_o "Do you not use screwdrivers? Like do you tighten screws in by hand?"
I've know people who code Java/Scala in emacs and vim, but they still had completion, type-lookups, etc. They was a higher learning curve in knowing all the keyboard commands, but all the tools were still there. I don't get people who refuse to use tools. It's reflected in this guys works too when looking at the code reviews.
When all you have is a hammer, everything is going to look like a nail.4 -
Why the fuck does Apple hate developers so much? I just want to test and play around a bit. Why do I have to own a fucking Mac? Why do I need to pay 99$ a year just to install a debug build on my own device?! It's literally impossible to get into ios development without being rich or having some kind of plan for revenue...
Testing my app on Android:
Install Android studio -> plug in phone -> run code in Android Studio or simply install the resulting apk on your phone.
Trying to test my app on my iPad:
Google how to build app for iPad -> reading that you have to own a Mac to run xcode when you want to build Code for iOS -> searching for a workaround -> find a way to build my app online -> setting the tool and building it -> Trying out 5 different tools to sideload the app, no one works -> finding out that you need a developer account to sign the app for testing purposes on MY OWN DEVICE. I really would appreciate it if I would be able to install personal stuff for testing and LEARNING without being forced into insolvency. Why are people putting up with this kind of bullshit?18 -
I had a CS teacher that could barely find the power button. She never gave any sort of instruction or guidance. We were supposed to be learning how to code,but played Oregon Trail instead.
-
Sitting in Office on a Saturday learning how to Code :) There is nothing like a quiet peaceful office with no other keyboards clickety clacking than your own.4
-
Applied to a Jr. Dev job and was hired as a Digital Marketer — I can deal with this, I’m AdWords & Analytics certified. What I can’t abide is that I spent the last year working my ass off learning to code and the person next to me with the Jr. Dev position only uses DIVI and has zero inclination to study, learn or write basic HTML & CSS—much less PHP. I’m not an expert by any means but I love programming, I love the problem solving, the challenges and the culture of it all. So far, and these are only two examples, I’ve shown him how to use the target attribute to open a page as a new tab, and how to register a nav in the functions.php file to create a menu but he is unwilling to even attempt it. Rather, he told me that I was too technical and that no one would be using code in this day and age.
For the record, I think DIVI is a cool platform, it’s clear that my boss knows nothing about code to be fair and I love my job— this is my only issue so far😂 I just needed to rant.5 -
I'm working at this company where I have to update their app both for Android and iOS and it was originally coded by what seems to be one guy, that has written some of the worse code I've seen (I've seen pretty bad code when I was at uni), there is so much uncommented code, commented code with no real reason on why it's commented, variables that are one or two letters, Lots and Lots of magical numbers for things like images! And for the first few weeks working on the iOS app I was also still learning objective-c and had to look at his code for reference, I cringed so much.
I take pride in my commented code, I take pride in writing description for methods and having my variables at the top of a class and explain exactly why it's a constant. I'm also only just a recent graduate.
This guy that worked out this app is a senior developer, now working on security software for a bank, how is he even allowed to code?3 -
Not really a rant.
When you start learning a new prog paradigm focused on a particular branch of math and then see it being used to solve a sudoku puzzle in 3 lines of code. Well, that shit changes you and makes you wonder how much shit in the field we don't focus in for being too concerned with everythingPython and everythingNode
Brain is mush but I am loving this shit.9 -
Holy fuck is learning new frameworks frustrating.
I'm trying to setup a simple fucking flutter app and all their tutorials are basic shit with no auth/complex routing.
Any feature of flutter that's not in a tutorial has absolute shit documentation with 0 examples on how to use it.
Material app has like 20 properties and if you click on something like on generate there is shit for knowing what the fuck it's expecting.
Stackoverflow has a ton a code but that's just it, code. I have absolutely no idea how they generate the code they have from the documentation on the site. They must have been following flutter from the start.
Ahhhhh! 😠13 -
Writing a function to take a string of delimited entities, parse each character to find the separators, capture the characters in between separators, and return an array of entities.
I used this for about a year before I learned about String.split()
Yeah.1 -
So I am getting back into game dev. I keep going back and forth about making a 2D or 3D rpg. Maybe I will end up making a mix.
I also want to make customizable characters in game. I found a decent solution for 2D. An artist is making 2D sprites that allow things to be overlaid. Each component has animations. I can layer sprites and animate them in sync to keep all the pieces moving together.
For 3D this journey of what is possible is a lot longer I think. It is hit or miss finding generic 3D characters with build in morphing. I want to be able to change the body for customization. I think I will have to relearn how to 3D model. As I learn what kind of model I need I am also learning what it takes to do this in Blender. And holy hell, Blender is so amazing now! The stuff I can do easily is staggering. You can sculpt a mesh using sculpting tools. Then do a remesh of that to make a more easily animateable mesh. No remeshing by hand, other than installing a plugin. There are a bunch of plugins that you can buy too. I found one for free that looks promising. But the paid ones are not that bad either. Between $25 to $100 depending upon source, license, and features.
However, being a programmer I want to figure out how to generate 3D and 2D models. There is code out there to do this, but I wonder what the learning curve is on that. The engineer side of me wants to be able to model the shape of humanoids and then auto skin that. I think I will start with modeling a few by hand to learn the way it should work. I want a simple anime look. I did find info on automating face rigs and body rigs. Oh the tools we have now!
Anyway, I am having fun.15 -
Every time I have to recall how to LaTeX, it's a huge pain in the ass. It's like learning to code in Greek (I don't know Greek). Happens every single time (it can be months before I need to use it again).
However.
Every time I finish my creation, I fall in love with LaTeX all over again.5 -
I finally got a job at a tech company (although it's not a tech job) with a very good work/life balance.
Therefore, I plan on getting more serious about properly learning how to program in my spare time, also because, being a tech company, programmers are all over the place and are generally willing to talk about code.
I must say that while job hunting, devRant has been very useful to me since it allowed me to understand what kind of environment I'd like to work in. So far, the first few weeks of work have been great.
Ah, and the view from the office is unbeatable.7 -
The more I learn about programming the more terrified I become about having huge knowledge gaps and learning something wrong by possibly making wrong assumptions about how certain things work or by falling on bad tutorials. I'm constantly hyped about coding, and at the same time I always feel I will never be able to say confidently "I know how to code".
How the hell do you make sure you are learning programming correctly as a self taught? Or do i just have to accept that no matter how and what I code there will always be a better way to do it, resulting in me constantly feeling as a low-skilled coder?3 -
I started a project at high school 7 years ago, I had no idea what's clean code or design pattern, just learn while keep coding. I eventually stopped because my code is so terrible I cannot understand it anymore.
Now, after 1 year of working, I look back those dirty codes and think it is actually not that bad. Within hours I even fixed a bug with concurrency.
I start to think, instead of learning to how to write good code, maybe I should learn how to read bad code. That's just much more practical.5 -
My favorite year as a dev + why?
It would have to be this year because ..
- The 'pointy hair' bosses I've ranted about on this forum have been fired or they quit. I almost kinda forgot what it felt like to talk to managers not feel like "Good Lord, how does this guy put on his shoes"
- I took over the position of my nemesis (his choice, not mine) who quit (he quit before he was fired) and deleted+replaced all remnants of his code/life's work. More out of spite than necessity.
- Reaping the benefits of properly logging/reporting errors and developers able to fix those errors, nearly eliminating those 3:00AM 'System is down' phone calls.
- Able to take time to learn new technologies (learning React right now) and not constantly running around putting out fires.
- Son just graduated college at age 21. -
Fuck my life! For my studies at University it is required that I learn how to code... Over the past month I've been learning java, and yesterday a friend of mine has introduced me to Go. Now all I want to do is learn Go, meanwhile our Prof pushes us to learn switch-case and goto...17
-
I don't seem to understand why so many developers nowadays are focused on learning newer frameworks rather than focusing on best practices and learning how to code better.
"Hey I learnt React today, we should totally switch to it because it's so amazing"
> mfw the same guy doesn't even know how to follow coding styles, write good code that scales or document his code.
I think some people need to take a step back and focus on the more vital tasks of writing good code to begin with rather than getting so excited about every new thing that surfaces. It's annoying as fuck to deal with some of these people who you have to work alongside and be able to read their loopy shit code and all they are doing in their time is refreshing hackernews.8 -
TL;DR - Developers, do not buy HP Stream models laptop unless they are selling at $1.
Cannot even handle Sublime + Firefox + LAMP use case well. On lubuntu OS with literally nothing else on it. Sublime crashes every hour.
Now I am learning how to code using other tools before I can buy a better replacement for it. Failure with gedit; very slow and sluggish. Currently trying Geany.
It's a pain in the ass to learn new tool especially when you are so accustomed to something. 😣12 -
!rant, TL;DR at the bottom
Holy fuck, Yesterday, I got absolutely schooled by a literal newbie.
And I mean, NEWBIE newbie, the dude just started a Computer Science degree, and has been learning Java only for a MONTH. He has 0 prior experience with code or anything of the like, and he's somewhat of an Ars(Israel's version of a Gopnik).
So I was helping him with some stuff he didn't understand, and lo and behold his code was probably the most aesthetically pleasing and organized code I have seen in my 8 years of programming(I know 8 is not much, but It's at least above beginner level). The dude's a perfectionist, so I was like, "Okay, very impressive, but makes sense for perfectionism"(I straight up told him: "Damn, I've seen people with years of programming experience who can't learn to write this well, and you do this by default? I envy whoever's going to work with you"), and then I saw the way he writes checks(as in, methods that return a boolean) and I think I came.
The code was:
[First method in the picture]
And I know, it doesn't look as ✨ WOW✨ as I make it sound, but in my personal opinion this both looks much better and is much more readable than what I normally write:
[Second method in the picture]
and whenever there are longer or more complicated checks it makes it look like a simple puzzle that just fits in all the pieces nicely, for example in a rectangle class we had to write an 'isIn' method, this is how I wrote it:
[Third method in the picture]
His way of writing the same thing was:
[Fourth method in the picture]
Which I think is soooooo much better and readable and organized,
It's enough just looking at the short return statement to immediately understand everything that's going on.
"Oh, so it just checks if the SW(South West, i.e. Bottom Left) corner is above and to the right, and if the NE(North East, i.e. Top Right) corner is bellow and to the left"
Point of the story? Some people are just fucking awesome. And sometimes the youngest/most inexperienced people can teach you new tricks.
And to all of you dinosaurs here with like, 20+ years of experience, y'all can still learn even from us stupid ones. If 8 years can get schooled by a 1 month, 20 years can get schooled by a 1 year.
Listen to everyone everybody, never know where you might learn something new.
TL;DR: Got schooled by a local "Gopnik" who only started learning programming a month ago with 0 prior experience with his insane level of organization and readability.30 -
Decided to spend my weekend on a little side project that I thought I could finish quickly.
Not only does my code not work, but what I wrote is so horrible that I'm honestly ashamed. Its like the despicable porn that you sometimes end up watching and the horror of realizing what the hell you just watched after you finish - I thought my code was good, but really, it was trash.
Before I started writing I though to myself, "I'll finish this project and then I'll upload it to my Github to expand my repository", but now I cringe at the thought of someone else reviewing this pile of shit I call my code.
It's 2 am here in Israel. I know I should go to sleep, but I'll just stare at the ceiling, feeling unproductive because everything I did today is literally worthless.
How the fuck do I justify this shit to myself? Calling this a "learning experience" feels like a fucking joke.
Honestly, I don't know why I chose Python to do OOP when Kotlin would have served me much better.
But, there's always tomorrow, isn't there?2 -
My best career choice: After 5 longass years, left a multinational consulting firm that constantly reminded me of my insignificance. Joined a small company to work on their flagship app. Learning sooo much.
Worst: NOT LEAVING THE CODE MONKEY SWEATSHOP SOON ENOUGH. ENDURING PAIN != WORKING HARD. THERE'S A PROBLEM WHEN SENIOR DEVS IN YOUR COMPANY ONLY UNDERSTAND PROCEDURAL PROGRAMMING. MANAGERS ONLY CARED ABOUT HOW MANY HOURS DEVS LOGGED WHICH TREATED A COGNITIVE INTENSIVE TASK AS MANUAL LABOR.2 -
“I started learning to code today while I was in the toilet. Let me tell you about the best app to learning coding for beginners.”
How does this person have such blind confidence in their first though?3 -
Development world is always changing and evolving... It changes before you know it...
So, having the ability to quickly adapt and learn is a must for any Developer... And, this is the one thing that I am sure that everyone knows about or heard about..
But, my advice is quite simple:
"Don't rush into participating in a race, just because everyone else is doing so.
The trick is not to move quickly.. But, to move one step at a time, at the pace in which you are at your most comfortable...
It might seem counterintuitive and a contradiction to what I have said earlier.. But, I hope that by the end of this rant, you will be able to understand my perspective..
This advice is especially useful for people still finding and searching for their place in our world..
Charles Darwin, very wisely understood the philosophy behind 'Survival of the Fittest'..
By 'fittest', he didn't refer to the ones considered to be the strongest or having the most intelligence, but the ones that had mastered the ability to adapt to changing circumstances..
Adaptability is important, but not at the cost of understanding and learning about the fundamental pillars on which this world stands..
Don't rush because when you run, your visions starts to become more narrow.. In your pursuit to reach your goal, you lose the ability to look at the macro details surrounding your goal..
Learning new technology is important, but that doesn't mean that you don't learn about various approaches or how to design a more logical or efficient solution...
Refactoring the code, developing good Testing procedures, learning to interact with your fellow developers are as crucial as learning about the changing trends...
Even, in this ever-changing world, understand that some things will always remain the same, like the adrenaline that course through your veins when you finally solve a long-standing problem...
Curiosity, Discovery and Exploration are the key pillars and hence, when we rush in, we might stop exploring and lose curiosity to discover new and exciting ways to reach our goal..
Or, we might also end up losing the drive that grips us and motivates to continue moving forward inspite of the challenges standing between us and our destination..
And, believe me, once you lose this quality, you might still succeed but the contentment and the satisfaction that you feel will be lost..
And, then, you will remain a developer only through your designation... And, that in my personal opinion, the worst punishment.3 -
#Happy_Rant
Seeing BYJU's and WhiteHat Jr losing millions in valuation makes me happy, as it was something I had predicted (Im not flexing btw).
The whole business model is dumb, teaching CHILDREN coding and teaching them how to make `apps` via online learning.
Students study Comp Sci for literal years before they even begin coding something useful, and even then there are so many professional developers walking around who barely understand the code that they write.
It's just natural selection at this point.6 -
i was helping a friend who just started learning how to code and i realized that tutorials don't teach you how to read error messages and how to debug. that's stuff we learn from people, it's tacit knowledge. that's crazy to me, because those are such essential skills to a dev and i think just self learning is not enough. maybe coding is even more of a socially dependent skill than i ever thought. looking at it that way, stackoverflow is a good example of that, I can't really imagine being a dev without the dev community6
-
So I recently returned from university and was catching up with people. Then this guy(childhood friend) who is in EE was "asking" me about how my academics were going. So I was describing my cs classes to him until he suddenly interrupted me saying he knows "how algorithms work" and also that IT == CS. I tried my best to explain to him that it is not the same thing, but his ego just couldn't allow me to talk. He continued on forcefully about how he did a project in java that used SQL and blahblahblah. After he was done exhibiting himself, he asked me what languages do you know(LOL)? When I tried to explain to him that cs is not about learning languages, the guy proceeded to interrupt me again and tell me how his curriculum is hard so as to imply that mine is shit. Finally, this human waste told me to "open java" so that he could code, I opened up my terminal, which he responded to by asking me "What is that?"2
-
Some people are really getting high on this Agile shit. Probably because they learned some new bullshit bingo phrases - and it suits them: lots of vapory talk and expensive meetings and others will have to do the work anyway, while they can circlejerk on how to have shorter iterations to improve the time to market, increase the business value, inspect and adapt to faster deliver a minimal viable product - yeah, do the agile transformation, update to the digital age, you noobs. Throwing around some catchy phrases will let you compete with Google? Maybe need some blockchain or machine learning?
While you are clustering your post its, the coders who keep the ship afloat, sit in their legacy code base that's so bitrot they are mainly doing bugfix releases without a single feature for three fucking years. Consider this.5 -
Me: I'm a computer major along with an added specialisation in Information Security. So besides learning code and software development, we also do a variety of security related stuff like penetration testing and so on.
Others: Oh great that means you must know how to hack Facebook.
*makes me flip every time*6 -
i always go out of my way to help people learning to code. as a self-thought coder myself, i remember the struggles of starting out and not knowing the basic shit. but it seems that in todays environment, when there are a lot more resources, gamified platforms, tutorials, online courses, paid and free, their motivation to actually learn stuff, is non existing.
learn what the css property actually is before torrenting the fucking useless 40 hours video tutorial on how to use the shitty bootstrap.1 -
I started learning Golang today and really like it.
The error handling is *excellent*. It always works the same way and is standardized, unlike the hell that NodeJS error handling is (.catch(), try).
Modules confused the fuck out of me. I eventually figured out how they worked, but Go really doesn't try to make it easy to have multiple source folders...
I'll probably be re-writing my Discord Bot in Golang soon. Being able to have just one binary output will make things infinitely easier. Compile-time variables are another feature that's nice and easy to implement.
The goal is only having to upload a single binary to deploy on production from my CI script that has all keys and stuff inside. Feels good to finally throw all that old bad JS code out and starting completely fresh.7 -
Need to rant. I am doing programming 2 at university with java and the assessment is to make a card game. The subject is shit and is basically going over loops, variables, conditionals ect which we learned in introduction to programming and programming 1.
This leaves little time for oop principles, design patterns inherentance and all other useful stuff.
I am dedicated to making a career in programming and want to do my assessment the correct oop way. Although the lecturer doesn't care and is instructing the class to do it procedurally and shit.
I could do the program really quickly the shit procedural way and still get full marks but I feel dirty as hell coding like a scrub. So I'm 60 hours in on this assessment and there are so many classes and even more because of unit testing (we don't have to unit test) and I am spending way too much time.
My code is beautiful, my classes are tiny and maintainable, easy to modify and I'm learning so much about how to code oop the correct way with the help of a mentor and someone I look up to. But god does it take forever to code this way. And soo many iterations and redesigns because I'm still learning.
It's almost done but now I have another programming assessment for another class I'll have to do the dirty way because of time restraints and other assessments.
Sorry for wall of text but this is stressing me out 😛4 -
Holy duck, I lost two days on a convolutional autoencoder splitted in two separate neural networks to encode and decode separately, it reconstruction had some strange behaviours. I was giving as input an image and then saving the encoded compressed representation in a new image, in this way I could decode it with the decoder whenever I want saving space.
How much retarded am I?
The internal layer's weights hadn't constraints so in learning phase the convolutional filters can contain any number, positive > 255 or even negative and I cannot save it in a new image as they are so they were clipped automatically between 0 and 255 with an huge information loss.
It's so frustrating when you rewrite the code in any possible way, you obtain the same wrong result and then you realize that was a borderline behaviour of a third part library.undefined convolution dimensionality reduction rbg autoencoder machine learning 255 neural networks image processing1 -
Not work, but was very pissed off anyways.
So, today my C# lecturer was teaching about escape sequences in strings. Specifically, he's showing how to escape the single quotes character ( ' ) since we're learning about how to send SQL queries as well.
He started writing on the whiteboard the following and said that this was how to escape the single quotes character in a string:
\' "abc123" \'
Me and one of my classmates looked at this and started to ask questions, since this is definitely not how you do it. Somehow, the lecturer could not understand us. We tried to explain it the best we could, starting from verbally, then writing on the whiteboard, then even showing code on a laptop. For some unknown reason the lecturer still couldn't understand where he was wrong and both of us just gave up after 15 minutes of trying to explain it.
Mind you, most of the class had little to none prior programming experience, me and said classmate are one of the few that actually programmed before, so all my other classmates were just very confused as to what is right and what is wrong.
Now I'm really questioning my lecturer's abilities....5 -
The most scary stuff when changing jobs is not the fear if the code is spaghetti or not. It’s onboarding and how the company expect new devs to learn the domain.
When I joined the company I am working on, they did not have at all documentation in regards to domain knowledge. I had to ping devs who have been with the company for years so they can explain to me. Product Managers are useless. They can explain the ticket but cannot point me in the codebase and DB fields that that ticket needs to touch.
They would say to me “Ask what you don’t know “. MF, I don’t know what I don’t know. How am I supposed to come up with questions?
Cherry on top are JIRA “Stories”. It’s title and 1 sentence and it was expected of me to do the discovery.
Fast forward, there are still things that I am learning. I work in an industry that is very complicated and has a lot of information to take. I don’t get burned out of code and tasks. I get burned out of trying to understand my tickets and connect them with the code and DB.1 -
I don’t just want to learn how to scrap together applications.
I want to become an engineer; one that can wear that badge properly.
I spent a day or two reading my peers code base in .NET Core to start learning its wizarding ways. I found myself emulating some of the patterns.
Then I found a tutorial series on putting together a correctly decoupled RESTful API...the same chap wrote an SDK for Azure CosmoDB.
THIS is what I am talking about.
I can’t believe these guys at work have twenty years C# experience between them and they are churning out this shit for more than 1.5x my salary.
I want to become this but I swear half the coding world does NOT care.4 -
Cross platform mobile with Xamarin, an internship asked me to learn Xamarin for them, I found that the docs Xamarin had were surprisingly helpful compared to other places
After continuing to pursue mobile with Xamarin I now feel I know multiple native apis very well (iOS and Android) and have found my favorite language (C#) so I've also learned a ton about how code and compilers work and all sorts of other things
Xamarin has been an incredible learning tool9 -
I am so much stunned i cannot form a sentence on what to say. Lost 3 days trying to fix a bug on why socket.io was connecting to backend TWICE per user. I cannot fucking comprehend this. Backend works fine because via postman it doesnt connect twice. Everything works fine. 72 fucking hours waste d of my life just to find out i had to change
<React.StrictMode>
<App />
</React.StrictMode>
Into
<App />
When i tell you my jaw fucking dropped it fucking did. And it does not drop often or that easily for me. What the FUCK is react strict mode???? FUCK react. I fucking hate this piece of garbage framework. I even like nextjs better. React💩💩💩💩💩💩💩💩💩💩motberfucker WHY is strict mode fucking my code what use does it have who gives a shit why does it have anything to do with websocket connection FUCK react 💩💩💩💩💩💩💩💩💩 how does this piece of camel turd have anything to do with duplicate connection 💩💩💩💩MFKKCER this garbage doesnt exist in my beautiful angular or nextjs PLS why this cancer has to be so headaching i knew I'll get FUCKED if i dont go over a detailed course learning react from scratch. Now im suffering. Learning this garbage the hard way FUCK off4 -
So fuck this. Fucking fuckers fuck this.
We've been having massive performance issues with a nested drag and drop component. I built this abomination about a year ago and had to rush through it due to my colleague not thinking the change was necessary, even though the previous revision was even worse. It's been going strong for a while, but since a month ago it has started to perform badly. Makes sense, because it was hacked together, and wasn't made for the amount of data that it's handling now.
So the other day I presented the issue to my colleague, telling him exactly what the problem was, and that we'll have to rewrite quite a bunch of the code to get it working. Today when I bring it up again he is really negative towards the changes because they are so big, and don't really want me to do them. He is, however, super stressed about the performance issues and starts digging around in the code himself. Code that he's never touched, don't understand how it works, and has said he's not interested in learning about. He even says he sucks at frontend and Vue himself. So we sit there from morning to lunch, digging through the code together (I had to do it as well because he came nowhere). And what do you think the conclusion was? The same thing I told him a few days ago.
So what now then? He still don't want me to do the changes, but still wants it solved! How the fuck is that supposed to happen?!?
Worst part is that we're the only two developers in the company, and our boss has little IT experience. That puts me and my colleague at the same hierarchical level, so all decisions has to be cool with the both of us.
So fuck this. Fucking fuckers fuck this.8 -
I was working as a software dev contractor at this company providing specific e-learning services for a specific industry X.
One day the CEO posts on Linkedin about an interview discussing the potential of gaining $100k per year working in industry X after getting specialized training for 6 months (using our e-learning platform of course) .
My gross income at the time was $65k. My experience was about 7-8 years. Now the thing is you might say "gee that's pretty low for a dev, especially a contractor", and yes I agree, but you have to understand a few facts:
1. I am from eastern Europe (cheapish labor - which btw for all of you out there from the West, including Germany and whatnot, it is xenophobic to consider easterners cheap and it personally insults me and my ability - but that's another story)
2. I was happy to accept the offer since it was the best I had up to that point :))
Now, by the time the LinkedIn post I was heavily invested in the product development. I personally had written 30% of the code (frontend and backend) compared to the whole development team (about 15 devs)... and yes you might argue that performance is not measured by number of lines of code... but trust me when I am saying I did the most on that product, and I am not saying this to brag, I actually care about the stuff that I work on.
When I saw that post on Linkedin I thought to myself "what kind of BS is this? I am a dev and devs are supposedly the best paid workers out there, and a guy from industry X that just got trained for 6 months would get more than me?! WTF?!"
So I messaged the CEO ...
Me: I noticed the post from linkedin about $100k by working in industry X, I am curious how does one get to that revenue per year? What is your advice?
CEO: The best way to obtain value is by creating value which you maximize continuously.
Me: and how does one maximize value?
CEO: it does not matter how hard your work but how large of an impact you make!
Me: ... and how do you measure impact? (me thinking about performance reviews for contract negotiations - and because performance reviews should be SMART -> meaning it should be measurable somehow)
CEO: Simon Sinek says ... << insert motivational quote here because I don't remember and don't care >>
I just lost if after reading the name "Simon Sinek" ...
So you see my dear friends ? It is all fairy dust, smoke and mirrors, in the end it is about maximizing profits, lowering costs and maintaining the illusion of opportunity... when there is none.
Lord is my witness... I hate hypocrisy and quackery ...
You can imagine that my contribution on that product immediately lowered, doing the bare minimum to meet the contract demands AND I FEEL NO REGRET.
%&#$ YOU SIMON SINEK.rant measure impact motivational quotes eastern european ceo not six figure salary jealousy simon sinek4 -
Hey, I am new here and I am only in the early stages of learning how to code, but I already like devRant a lot. This is a cool communty.
If anyone wants to know, I am learning Java.8 -
I’m most proud of my first website. Just plain html and css. It was the first time I was introduced to GitHub too. I was taking a class at the library. The teacher was the best because she showed the students how to find resources for web development and told us to don’t bother looking at the out of date workbooks. The students were cool too. It was great to be in a small class and see people of different ages learning how to code.
-
A colleague of mine who doesn't know how to write simple conditions and sends button code from backend in loosely coupled design.
Worst of all she doesn't wants to get updated to the latest programming structure and no signs of learning on how to write clean code! -
So, I'm heading back down the rabbit hole. I did some web dev (backend) on the side years ago, but I've been out of the game since. I want to change up careers at this late date and I had forgotten how cathartic manipulating raw code could be. So now I'm relearning and learning all kinds of good stuff via the internets and was excited to find this community. Not much of a ranter but this should be fun.3
-
After a lot of work I figured out how to build the graph component of my LLM. Figured out the basic architecture, how to connect it in, and how to train it. The design and how-to is 100%.
Ironically generating the embeddings is slower than I expect the training itself to take.
A few extensions of the design will also allow bootstrapped and transfer learning, and as a reach, unsupervised learning but I still need to work out the fine details on that.
Right now because of the design of the embeddings (different from standard transformers in a key aspect), they're slow. Like 10 tokens per minute on an i5 (python, no multithreading, no optimization at all, no training on gpu). I've came up with a modification that takes the token embeddings and turns them into hash keys, which should be significantly faster for a variety of reasons. Essentially I generate a tree of all weights, where the parent nodes are the mean of their immediate child nodes, split the tree on lesser-than-greater-than values, and then convert the node values to keys in a hashmap to make lookup very fast.
Weight comparison can be done either directly through tree traversal, or using normalized hamming distance between parent/child weight keys and the lookup weight.
That last bit is designed already and just needs implemented but it is completely doable.
The design itself is 100% attention free incidentally.
I'm outlining the step by step, only the essentials to train a word boundary detector, noun detector, verb detector, as I already considered prior. But now I'm actually able to implement it.
The hard part was figuring out the *graph* part of the model, not the NN part (if you could even call it an NN, which it doesn't fit the definition of, but I don't know what else to call it). Determining what the design would look like, the necessary graph token types, what function they should have, *how* they use the context, how thats calculated, how loss is to be calculated, and how to train it.
I'm happy to report all that is now settled.
I'm hoping to get more work done on it on my day off, but thats seven days away, 9-10 hour shifts, working fucking BurgerKing and all I want to do is program.
And all because no one takes me seriously due to not having a degree.
Fucking aye. What is life.
If I had a laptop and insurance and taxes weren't a thing, I'd go live in my car and code in a fucking mcdonalds or a park all day and not have to give a shit about any of these other externalities like earning minimum wage to pay 25% of it in rent a month and 20% in taxes and other government bullshit.4 -
The feeling when, as a junior dev, you realize the code base is a mess and learning from the senior devs is more accurately learning the preferences of the senior devs. There is no "right" way to do things.
Also, how did anyone get anything at scale with JS before typescript!?2 -
The presumption of incompetence:
Has this ever happened to you?
Starting a task and chatting with a fellow dev-- my first time implementing analytics in this particular app. I mentioned to them that I've been doing analytics implementation on various apps at our company for years, but our current apps' analytics setup is the most intense and this will be a good learning experience for me to dig into.
They responded by sending me code snippets of existing analytics implementations to help me. Not hidden or lesser-known classes, very obvious ones I already had open and was working off of. With advice like "just search the codebase for 'analytics' and 'trackPage''" lol.
I like this person a lot, but this definitely caught me off guard. It felt like something her obtuse manager would do, but not her. This would probably not be a big deal to most but I'm so used to being given unsolicited/unhelpful/irrelevant advice from male devs, and having to be pleasant and thank them, this one was tough to witness.
How do you respond to unsolicited "help"? Does it bruise your ego the way it bruises mine? lol12 -
Seriously, at what point did the good, kind, selfless souls who write tutorials and guides online turn into fucking food bloggers?
I've been an engineer about 15 years, so I still have to google most of the code I write as I write it, and this week I've been learning a new framework.
Ten years ago it'd be "here's how to..." then the thing you want to do.
Now it's "For the longest time, I didn't want to use Gradle..." followed by a summary of the last week in their life.
I really don't care about your Journey with Rust, I want to know how to define an optional parameter. I don't give a rat's fucking dick how much faster this is than that, my hands are tied by whoever started this mess - just tell me how to make it work.
I guess there's something to be said for remembering things between sessions.4 -
"And in a stunning turn of events, he got it to work!"
But seriously... I've literally been throwing shit at a wall and seeing what would stick.
Fucking DTOs and getting shit out of a database. I need better resources on how to do this properly!
Anyways, I found that just using 'object' and letting the compiler deal with the rest of the bullshit actually allowed my code to work and run. I'm still a little in shock.
I'm over here trying to keep things in a nice one-to-one because that's what my PM recommended... and instead I just get slammed by Type casting nonsense and more errors than I can begin to understand. And unfortunately, Stackoverflow is of no help because everyone's issues are very nuanced and unrelated to my problem... Maybe I'm the problem? 🤷
But here it is working without all that bullshit. I don't know man... This code base is not the rager I was expecting. I'm getting my ass kicked with code that doesn't fall in line with the book I'm learning from.
You know how they say, "forget everything you've read and learned"? I'm feeling that really hard right now.
Constantly fighting the urge to rip everything down and do it based on what my book is recommending, but then the logical natured side of me is like "you ain't got that kind of time to be unfucking someone's work, only to get caught in more trouble. Your ego is not worth it"
Anyways, it's fucking late here and I'm glad enough to not have to think about this issue anymore. Bye.3 -
Making a Snake game. Let me explain.. I had just "finished"(We all know there is no finishing side projects) my first big, at least for me, project. An io game called torpedoed.fun [http://torpedoed.fun]. And yes, it is a desktop only, and also yes, it is not that fun of a game. Torpedoed.fun taught me a lot about developing such as how to debug effectively, backend communication, how to host a website, planning, and much more. After learning all this from torpedoed.fun, I decided to start a new project, a simple clone of the classic Snake game. I, to my surprise, was able to immediately think of several ways of implementing various parts of the game. I developed the entire game in the span of a few hours with hardly any problems! This experience of developing without constantly debugging every line of code felt amazing. If I wasn't addicted to programming before that Snake game, I was afterwards!
-
QA personal voice assistant that runs locally without cloud, it’s like never ending project. I look at it from time to time and time pass by. Chat bots arrived, some decent voice algorithms appeared. There is less and less stuff to code since people progress in that area a lot.
I want to save notes using voice, search trough them, hear them, find some stuff in public data sources like wikipedia and also hear that stuff without using hands, read news articles and stuff like that.
I want to spend, more time for math and core algorithms related to machine learning and deep learning.
Problem is once I remember how basic network layers, error correction algorithms work or how particular deep learning algorithm is constructed and why is that, it’s already a week passed and I don’t remember where I started.
I did it couple of times already and every time I remember more then before but understanding core requires me sitting down with pen and paper and math problems and I don’t have time for that.
Now when I’m thinking about it - maybe I should write it somewhere in organized way. Get back to blogging and write articles about what I learned. This would require two times the time but maybe it would help to not forget.
I’m mostly interested in nlp, tts, stt. Wavenet, tacotron, bert, roberta, sentiment analysis, graphs and qa stuff. And now crystallography cause crystals are just organized graphs in 3d.
Well maybe if I’m lucky I retire in the next decade or at least take a year or two years off to have plenty of time to finish this project. -
Best part of working in Company:
Getting learning sessions from Seniors and sharing design aspects and their pros and cons.
Had an awesome session on how to focus on making a code testable.
With hands on coding too.
Never expected to have such a great experience. -
!rant // deprecated but who cares
I just wanted to write down something i realized. I realized that that I stopped growing as an individual a while ago.
Being a student put me in constant stress situations. I had to do things quickly. Lern things fast, drop things I don't understand immediately, move on, and repeat. I think this corrupted me, turning learning into something that it's not supposed to be. Even making me reject other people's opinions sometimes, which disgusts me every time I think back to it.
When I started programming I'd always try to read the code, until i completely understood what exactly this code was doing. Something I stopped doing a while ago because of the mentioned time constraints.
But today I got the hit by the consequences (German: Ich hab Retourkutsche abbekommen)
I was implementing an algorithm today, while my partner was writing the main program, which acted as indirect test cases. And the errors were discovered one after another because of my misinterpretation. Or Simply put, my lack of knowledge. Because it was already late, we stopped soon afterwards but I wanted to solve this problem by tomorrow. I really wanted to get my head around this algorithm, so that i could solve it with confidence. After getting my head smoking I felt something I haven't in a while: the feeling of achieving something. Making me finally realize not only how the algorithm was actually meant to work but it also made me again realize what learning is about.
Use your damn head.
Don't look away from the problem, solve it! Learning is about challenging yourself!
Sorry for stealing away so much of your time. Like i said, i just wanted to write this down. Maybe to burn this into my mind, to keep me on the right track from now on. But I also hope that i could deliver my message to someone that needed it as well.
Also it's late and i should have gone to sleep long time ago. 😴😵
I just hope my grammar didn't suffer because I'd that -
90% of beginner questions are so damn annoying. I get it, some people are new and still learning but for the love of God, I just want to tell these kids to shut the fuck up, sit their ass down and WRITE SOME DAMN CODE, instead of bitching and moaning about what they best language is or how to magically read a tutorial and become a ninja in a day.
Fuck.4 -
Well it's a bit long but worth reading, two crazy stories in one rant:
So there are 2 things to consider as being my first job. If entrepreneurship counts, when I was 16 my developer friend and I created a small local music magazine website. We had 2 editors and 12 writers, all music enthusiasts of more or less our age. We used a CMS to let them add the content. We used a non-profit organization mentorship and got us a mentor which already had his exit, and was close to his next one. The guy was purely a genius, he taught us all about business plans, advertising, SEO, no-pay model for the young journalists (we promised to give formal journalist certificates and salary when the site grows up)
We hired a designer, we hired a flash expert to make some advertising campaigns and started filling the site with content.
Due to our programming enthusiasm we added to the raw CMS some really cool automation: We scanned our country's radio charts each week using a cron job and the charts' RSS, made a bot to search the songs on youtube and posted the first search result as an embedded video using some reg-exps. This was one of the most fun coding times I've had. Doing these crazy stuff with none to little prior knowledge really proved me I can do anything with the power of will.
Then my partner travelled to work in an internship in the Netherlands and I was too lazy to continue it on my own and it closed, not so surprisingly for a 16 years old slacker boy.
Then the mentor offered my real first job. He had a huge forum (14GB of historical SQL) but it was dying, the CMS version was very old and he wanted me to upgrade it to the latest. It didn't seem hard at first, because there were very clear instructions in the CMS website on how to do that. However, the automation upgrade scripts didn't work well because the forum owners added some raw code (not MVC plugins but bad undocumented code) and some columns to the SQL tables. I didn't give up and decided to migrate between the versions without the scripts. I opened a new CMS and started learning by heart all of the database columns so I can make a script to migrate between the versions. The first tests ran forever because processing 14GB of data on a single home computer is not a task meant to be done. I didn't give up. I made an old forum and compared the table structures and code with my mentor's. I think I didn't exhaustively finish this solution, the task was too big on my shoulders and eventually I gave up. I still owe thanks for that mentor for teaching me how to bare with seemingly (and practically) impossible tasks, for learning not to fear from being a leader and an entrepreneur and also for paying me in time even though I didn't deliver anything 😂 -
(I highly recommend to you to not read this, it's just something that I had been wanting to take off my head; seriously, if you want to read it, do it at your own risk, because it will be a huge waste of your time)
Oracle Academy is the worst crappy attempt from a Corporation to create a learning platform.
The directive and academic personnel of my faculty decided that it could be a good idea to teach SQL and PL/SQL during whatever online classes will last with Oracle Academy, and I truly strongly believe (including most of my friends and classmates) that it's one of the worst ideas that could be done.
At that platform you simply don't learn shit, you read page by page of shitty PPT-like PDF presentations (that most of those are from a decade ago and other from 5 years ago) that are a pain in the ass to read due to how poorly formatted they are or how it explains badly certain concepts due to how badly made some explaining examples are, and then at each section of the "Learning Course" I have to do a Quiz that asks theorical questions and tells you to make certain code reviews to see if something is wrong or not (also which they are just alike the presentations, poorly formatted, up to the point that those have many syntax errors that end up consufing anyone a lot) and the main problem with the quizes is that also the Oracle's PL/SQL Docs are so fucking badly made, that I have to check PDF by PDF and page by page the concept that I just forgot to see how to answer the goddamn question; I mean, there are Doc pages that are way better structured and obviusly external to Oracle, but not even those pages fully cover certain SQL and PL/SQL concepts.
Seriously though, who could be so fucking ill-minded to create a shittyful learning platform and not try to fucking improve nor enhance it at least every 2 fucking years, so the goddamn "learning" process isn't that stressful.1 -
So my friend that wanted to start learning how to code started with some basic JS and he just decided after a little research to learn some C++, started out with free tutorials but I recommended a C++ Udemy course that was recommended to me from one of you guys, he said he was enjoying it so I was pretty happy...
At about midnight last night he tells me he is thinking about switching to Linux after using Windows his entire life... I have done gods work my friends...
I'm thinking about trialling him with standard Ubuntu 18.04 and maybe Elementary OS 5.0, anyone else got some recommendations for a new Linux user's first distro?9 -
So the story. I got a job as an Android developer in a consulting company. I didn't have any certificates and even degree. Just some easy apps on Google Play which I created to combine learning and practice. After 5 Months I got my first client project and company gave me a senior with 6 years of experience so he can teach me. That guy is a complete shit and I have to teach him how to do stuff. So I am doing the most worm in the project. Sometimes I don't even manage with my tasks because I have to fix his code and explain him why so and when it won't work. As a result, the client subestimates me. Makes me work harder and I have 10$/h and him 60$/h. What shall I do ?3
-
(inspired by another rant I read here)
Last semester we were learning Java in the Programming Fundamentals class and a friend of mine asked for help with an assignment.
The objective was to make a virtual store (as a console app) in which the user would be able to select a few products, customize some of them and then the program would print out a receipt, with a list of all products, their prices, and the total cost.
Simple enough I thought, but there was a catch: you were not allowed to use arrays because the teacher hadn't taught that to the class yet. So I was like "how the fuck are you supposed to do this then?". Turns out the way to do it was to just append text to a string in order to generate the receipt. This is stupidly simple, so stupid that it didn't even cross my mind.
It's just that it's an awful way to architecture your code, it's just plain shit. Sure, if you're learning programming that's completely ok, but using that code on production is just completely unfeasible and I think that's why it didn't even cross my mind to do it this way. I'm just constantly worrying about performance and good code architecture and organization that the simplest of all solutions slipped my mind. When I finally discovered the way the teacher wanted us to do it I just wanted to kill myself...3 -
I'm often asked if I enjoyed my time in college. Of course I did. Loved learning how to code, and had a great rapport with the lecturers. I remember our conversations fondly:
Me: Funny story, over the weekend I was out with friends an...
Lecturer: You have friends? -
So many new developers I know complain about not having the latest gadgets to learn to code. What I loved about learning to code was all you really need is something like Notepad and a few ideas, it's amazing how far you can go!6
-
How many of you feel you learn something on the job?
As for myself, I learn much more from books than sitting day in, day out at work, doing more or less of the same things.
To me, this whole trial-and-error way of 'learning' is not really learning. I don't subscribe to this dogma. I don't 'learn' by messing up and fixing something. I need a full specification of why something works, when and how. I'm not satisfied by just being a code plumber.
This, next to the fact that most jobs in small startups don't provide a budget for you to expand your knowledge.5 -
I am beyond pissed at my Machine Learning class in college. you would think an advanced topic in Computer Science would require some prior knowledge of the field, but apparently not. A quarter of the class has ZERO programming knowledge, and the professor is basing the class around that. I took this course to learn how to CODE Machine Learning algorithms, not spend weeks upon weeks on learning how to calculate probabilities...2
-
Hey DR! I am a pretty inexperienced programmer who's learning about JS. When I was writing vanilla JS to do some simple DOM manipulation, JS seems like a pretty familiar language. However, when I start to learn about different frameworks (React, Express), the way that they code stuff (IDK how to pinpoint specific examples, it's just an overall impression) becomes very different from my experience with other programming language. I am wondering if anyone have any suggestions, have felt the same way, or know how to overcome this phase.
ps This is a general question. Please don't be pissed for lack of technical detail....8 -
When I was in my first year in university, at the Introduction to Programming class, we had to do a Java project and my partner was someone who was always bragging about how much he knew about programming. Me being someone who was learning programming by the moment I started the course I thought he was going to help and teach me cool stuff.
The first phase was due to deliver in one week and literally my code was all original and my partners code was all copies of others work. Out project could'vw been graded 0 because of his code (because they used a programm that compared variables of each project to see if.they fins copies). He practically didn't gave the effort to try to code, just copies. I spent the whole week correcting his work so that I wasnt penalized in the end...1 -
Holy shit man...
I know its supposed to be hard but I cant ignore how much I want to give up right now.
I've been learning JS for months now, doing daily algorithm challenges, going strong on my freecodecamp dev map and still, I feel like I might no be cut out for this.
It's been more than a week now trying to implement a minimax algorithm into my tic tac toe game. I can't, for the life of me its just getting more frustrating by the day and its driving me crazy! How the fuck am I supposed to ever get a junior webdev job if I can't do something as simple as this!, And I keep reading and reading the theory but I cant implement it into my code! It just makes me want to quit (again)!
I really need to work on my attitude...1 -
It's was the forth year of my college, in the corner of the world in south India, I wanted to something to combine both medicine and the coding that I learnt, I started learning about heart murmurs, it's basically a skill based diagnosis that only 1 in 20 heart specialists can make by hearing the heart beat and listening to a small murmur that happens during the systolic cycle or the diastolic cycle. I wrote a program to learn a lot of sample murmurs and try to find (very bad hand made logic) the similarities between two wave patterns, the problem started with noise so I went out and built a new stethoscope with a carbon mic inside a normal stethoscope head and try filtering the sound at source (worked well enough at that time) I then tried to find people to test it on, but alas I was not able to find patients as doctors are not supposed to reveal them etc. I wanted to show them visually how a murmur pattern would look like and I stole some code and made a plotter for the wav file and presented everything. By that time I got a lot of close amazing friends involved and they helped me solidify the project and we won the best project award and I got my first gold medal of my life at the end of my academic life :) it was one of the best moments of my life. Second only to the joy of getting married to wife. May be third if I put getting a job in Microsoft India Development Center.
I still wish I could dig that code up and write it properly with what I have learnt today but work is never ending and I find great problems to solve everyday which I know I can make a difference, may be when I get retired I will dust out that CD with the decades old c++ code and write one last program...3 -
I might create a coding course for people actually interested in learning how to program correctly (not Get Rich Quick Bootcamp style, not webapps, not magic Javascript incantations).
I have an idea on how to structure it but I worry it'll be too weird for most people to follow (starting from binary theory and then teaching machine code and then working upwards to C and beyond) explaining how a computer works along the way, showing the real errors with annotations explaining things, etc.
I've always wanted to teach in this format but I feel as though it's too.. idk, "useless" to most people? But I've never had a friend go through e.g. CodeAcademy and come out knowing how to actually make applications from start to finish without just hacking together random React components and hoping the frankenstein project works well enough.
The target demographic would be those either completely new to programming or just have a fundamental or web-centric preexisting knowledge, or maybe those who simply want to understand computers better.
Am I barking up a shitty tree?28 -
It completely changed the course of my life!
I started learning to code because I was curious how mobile apps works. I blew through my self guided learning and needed more. Flash forward two years and I am working as a web developer! My projects are challenging but I've been learning insanely fast and I can't wait to see where I am two years from now. -
Well, I've been reading 'rants' in this community, and I'm amazed at how people discuss various softwares, languages, and sometimes even hardware!
I'd say I'm a noob. Can't even compare my 'coding knowledge' with what people know in this community, and I don't want to. I like that I'm now a part of this community. But I feel intimidated at times by the amount of things there are to learn! And I don't know how to start. I mean, we had a course on C for a semester, and I tried to build up on that myself. Other than that, I've been trying to learn web-dev, made a browser based game and tried to learn some back end. But I don't know exactly how to build up my proficiency with code, and solving problems, from here on out. So I would really appreciate if this golden community could help me out.(Not trying to flatter anyone. I don't express much, but all this is what I genuinely feel, and am grateful about.) I want to know how to go on about learning knew things in the realm of programming, and how I can apply it to solve actual problems. What language should I learn first? What will be valuable in this rapid-paced time? And some courses to help out?
I stumbled upon devRant one day out of nowhere, and I'm glad I did.8 -
Developing and deploying in Xcode is some Requiem for a Dream level bullshit.
I literally just de selected everything for managing automatic signing, and re-selected the EXACT SAME GODDAMN THING. And it worked. It’s literally some fucking shit you do when you are first learning how to code or learning a language and you keep flipping something but you don’t get exactly how it works.
But this is YOUR FUCKING FLAGSHIP development product. I shouldn’t have to check my goddamn inception totem to see if I’m dreaming or not because this kind of bullshit can’t be real life.
That being fucking said your bullshit forced shutdown also FUCKED MY ANDROID STUDIO INSTALLATION AND FUCKED MY $PATH. Thanks. Now NOTHING WORKS. Fuck you Apple. Between slowing my phone and the cluster or problems your shit is causing that are just random as hell and are plenty common because thank god people smarter than me have fixed them in SO by now, I am SO READY TO LEAVE THE APPLE ECO SYSTEM. If I didn’t have to use one of the boxes to push iPhone app updates I doubt I would touch one again.
Apple stuff looks good but at this point that’s about it. -
When I was young I'd play games and around age 11 received an Xbox for my bday. Hated the case, so I painted the case. Since I had it open looked into getting a replacement fan.Thats when everything changed. I discovered the modding scene and without having any computer background/literacy got to studying.
The program that caught my eye ran on Linux. *shrugs thinking how hard can it be? * Read about Linux and discover dual booting. To do that I needed to resize windows partition. Learn more about partitions and get to it. Finally prepped... Backup in case of the worst, resized windows partition, working Ubuntu bootable USB, and printed install tutorial. Check, check, and check. Install was good. Sort of.
While Ubuntu worked, the broadcam wireless chipset driver did not. Fast forward a week and I feel that i had mastered the terminal basics. And WiFi worked! Go download the aforementioned program and FTP into the Xbox and BOOM... It doesn't work. More days and hours spent researching. In the end it all chalked up to not setting a static IP address on Xbox.
After all was said and done I had a bitchin Xbox. I think the only thing I didn't put on it was some gold spinning rims.
Sad part about that Xbox is that I never used it after. Instead I just kept messing around with Linux and learning more about computers. Taught myself HTML/CSS. Learned more about shell scripting. Then Windows cmd basics. Tried programming languages but felt a little overwhelmed. Only messed with <10 lines of code to tweak existing programs.
Now I'm learning C# and loving it. Planning on C++ or Java next! -
At first, my family was like "Don't waste your time on the computer, in college, you will learn how to code". I didn't listen, I started learning C#, but somehow I ended up learning C++ lol. Then I started with C, assembly, and SystemVerilog.
After they saw how good I was at it. They started supporting me. I don't blame them for not supporting me at first, they were ignorant about the topic, so they were blindly making assumptions. -
Here comes lots of random pieces of advice...
Ain't no shortcuts.
Be prepared, becoming a good programmer (there are lots of shitty programmers, not so many good ones) takes lots of pain, frustration, and failure. It's going to suck for awhile. There will be false starts. At some point you will question whether you are cut out for it or not. Embrace the struggle -- if you aren't failing, you aren't learning.
Remember that in 2021 being a programmer is just as much (maybe even moreso) about picking up new things on the fly as it is about your crystalized knowledge. I don't want someone who has all the core features of some language memorized, I want someone who can learn new things quickly. Everything is open book all the time. I have to look up pretty basic stuff all the time, it's just that it takes me like twelve seconds to look it up and digest it.
Build, build, build, build, build. At least while you are learning, you should always be working on a project. Don't worry about how big the project is, small is fine.
Remember that programming is a tool, not the end goal in and of itself. Nobody gives a shit how good a carpenter is at using some specialized saw, they care about what the carpenter can build with that specialized saw.
Plan your build. This is a VERY important part of the process that newer devs/programmers like to skip. You are always free to change the plan, but you should have a plan going on. Don't store your plan in your head. If you plan exists only in your head you are doing it wrong. Write that shit down! If you create a solid development process, the cognitive overhead for any project goes way down.
Don't fall into the trap of comparing yourself to others, especially to the experts you are learning from. They are good because they have done the thing that you are struggling with at least a thousand times.
Don't fall into the trap of comparing yourself today to yourself yesterday. This will make it seem like you haven't learned anything and aren't on the move. Compare yourself to yourself last week, last month, last year.
Have experienced programmers review your code. Don't be afraid to ask, most of us really really enjoy this (if it makes you feel any better about the "inconvenience", it will take a mid-level waaaaay less time to review your code that it took for you to write it, and a senior dev even less time than that). You will hate it, it will suck having someone seem like they are just ripping your code apart, but it will make you so much better so much faster than just relying on your own internal knowledge.
When you start to be able to put the pieces together, stay humble. I've seen countless devs with a year of experience start to get a big head and talk like they know shit. Don't keep your mouth closed, but as a newer dev if you are talking noise instead of asking questions there is no way I will think you are ready to have the Jr./Associate/Whatever removed from your title.
Don't ever. Ever. Ever. Criticize someone else's preferred tools. Tooling is so far down the list of what makes a good programmer. This is another thing newer devs have a tendency to do, thinking that their tool chain is the only way to do it. Definitely recommend to people alternatives to check out. A senior dev using Notepad++, a terminal window, and a compiler from 1977 is probably better than you are with the newest shiniest IDE.
Don't be a dick about terminology/vocabulary. Different words mean different things to different people in different organizations. If what you call GNU/Linux somebody else just calls Linux, let it go man! You understand what they mean, and if you don't it's your job to figure out what they mean, not tell them the right way to say it.
One analogy I like to make is that becoming a programmer is a lot like becoming a chef. You don't become a chef by following recipes (i.e. just following tutorials and walk-throughs). You become a chef by learning about different ingredients, learning about different cooking techniques, learning about different styles of cuisine, and (this is the important part), learning how to put together ingredients, techniques, and cuisines in ways that no one has ever showed you about before. -
Recently installed SonarQube and its been amazing to see the level of code quality (or lack thereof)
Some projects have 30 to 60 days of technical debt and I found a few files with a cyclomatic complexity over 100. I’m still learning what the “good” numbers should be.
Yesterday, couple of devs were very proud they were going to start reducing the numbers, they started with one of my solutions that had 5 minutes of technical debt. Yes, 5 minutes.
DevA: “OMG…look at this…it has a cyclomatic complexity of 11…that’s terrible. I thought we were supposed to be professional developers.”
DevB: “And take a look at this, he used the double-slash instead of a triple slash for comments. How does any of code even compile?!”
Me: “Maybe we should tweak some of those SonarQube rules so they make more sense to our code base. We’re never going to use unicode, so all those string culture warnings should go away and code comment formatting? Who cares? Be happy we have comments. I think we should also focus on the bigger fish in that pond. The CRM project is one of the biggest and has a lot of improvement opportunities.”
DevB: “There you go again, don’t bring me problems, bring me solutions..ha ha”
DevA: “Yea, no kidding …hey…did you see the logger? OMG…the whole class is over 25 lines…we gotta split that up into smaller projects so it’s more manageable.”
It’s a good thing our revenue stream isn’t dependent on people getting work done.3 -
I'm just frustrated. I wanted a simple, statically-typed language that doesn't get in your way and offers GC. I can't find anything "just perfect".
- Go: enforces a style on you, nono.
- Rust: ownership system. I love it, but it's too low level for what I want.
- Scala: seems to have a bunch of useless and bug-prone features.
- Java: I hate how you have to declare and catch exceptions. Good practice, yes, but the code gets bloated with try-catch statements.
- C and C++: Too low level, no GC.
- C#: maybe? idk
I want to make a back-end for an app but I want it to be easy and fast. I need something with a gentle learning curve, not keep fighting the language. I'm between Java and Rust. Java's easier to use. Rust is rust <3, but it's hard, I haven't learned it properly and I just keep fighting the fucking compiler.39 -
many many times in the past I had this impostor syndrome in various situations but I never lost faith in my dev skills!
you have to be humble to realise that this situations are fine and that you will learn something from it (not necessarily tech things, but also how life works). Also you have to realise that development as everything else in life is just never ending learning endeavour! When you accept all of that, impostor syndrome goes away forever.
It's been around 3 years since I felt like impostor for the last time because I accepted who I am as a person.
It crawled up on me last week in a different way - I was thinking of myself - what if I am just really good at googling things and understanding how those things work but I am also very capable problem solver so I can understand the principle and apply it to my code.
Then I realised - ok, that's what programmers do! So that's the story of how the impostor syndrome actually become confirmation syndrome!
Folks, believe in yourself, be forgiving to yourself as we all were there, give yourself some time as people don't become good developers overnight - and this is OK.3 -
Was recently asked if our team wanted to change from Java to Kotlin so I looked over the feature lists but don't see much that's impressive.
One argument was less boilerplate code but I think they're are libraries like Lomboq that can write that stuff for you.
The other was smart type casting and type inference and to that I'm like this sounds like giving monkeys a hammer.
Our JS codebase looks like shit... And our Java app just crashed in prod.
Getting a ton of text messages this morning and thankfully I'm on vacation still...
The error is not caused by NPE... but how some or logic spammed the db..
A new language isn't going to fix this.... And a team that writes this sort of shit logic clearly shows they are incapable of learning a new one probably...
They are already script kiddies... Don't need them to become babies...6 -
I read the pragmatic programmer a few months ago. The book advised learning a different programming language every month or so. I was doing Advent of Code so I decided to try out Elm because functional programming is all the rage these days.
It took me one hour to convert a string of numbers to an array of numbers! And when I finally finished with that I couldn't understand how to compare each element with the next one in an array using map or filter.
I realised that I've become too comfortable using javascript. Worst case scenario: In a few years when javascript is obsolete I'll be like those old dudes that know only Cobol. Best case scenario: I'll always be too dumb to earn a nice salary.
On a positive note: The first time I tried Elm I didn't understand jack shit, now I understood a few things.5 -
A couple nights ago I was thinking how can absurdly incompetent programmers exist out there (based on stories I read here), and I think I know the reason. They just don't like doing it, to them it's just a job. They get into the building, work and go home. They learned programming in college but probably never wrote anything for fun. Because of that they don't dedicate themselves to learning new tech, don't try to improve and be good at the job, all they want is the money to be able to survive and that's it. Since they don't have the curiosity to drive them forward, they just don't and keep writing shitty code.
I'm not saying you need to have a bazillion side-projects, work an 8h shift and then go home and spend 3h on personal projects, or that you have to breathe programming and tech. All I'm saying is that, to be competent and good (this probably applies to most jobs) you have to like what you do and have at least some interest in it.7 -
Did any of you hear Tim Cook's recent statement?
'Apple CEO Tim Cook says it is more important to learn how to code than it is to learn English as a second language.'
I mean, most of the code that I'd ever work on would be in English, no matter which country I'm living in. Most of the resources, documentation, tutorials are in English. Plus, if you think algorithmically, the logical code flow closely resembles constructs in English language. How could I possibly code without knowing English?
Go home Tim, you're drunk!
https://qz.com/1099791/...2 -
Apparently my learning style is more rote memorization than learn-by-doing and I've been trying to learn by doing for years as a hobbyist.
It took a fucking *national quarantine* to get me to try something different and I'm blown away.
What would have taken me many months to learn I've all but grasped in detail in a matter of 20 hours of study over the course of a week.
Fuck you javascript. I WIN THIS ROUND. No more looking at the documentation for stupid shit like how to write a regex, or why everything is wrapped in fucking parenthesis (IIFE), or why
I keep getting a uncaught reference exception.
The important thing to realize about learning is NEVER be obstinate about it. Try many things, and don't get stuck in one way of learning unless you know thats what works for you.
This is why having study partners and mentors are important.
I think experience/practice and rote learning work in tandem. Rote learning lets you skip the much longer step of grasping the fundamentals, bootstrapping the process of learning the abstractions that are composed of those fundamentals.
I'm still adding cards to my anki flash card deck, but if anyone wants it I'm willing to share. It's mostly just 1. practice questions, 2. detail questions (what are the types? What does this regex do?, etc), 3. implication questions (heres this bit of code. It's XYZ, why did it fail? Correct it.), combining core details to memorize, and the application of the facts learned.
It helped me to learn and I'm apparently retarded, so if you're new to programming and want to learn JS, it can probably help you too. Unless you're more of a tard than me lol.1 -
Drupal makes me want to go back to the moment that life first crawled out of the ocean, and shoot that first land-dwelling organism in the head – just to make sure that the animal kingdom never evolves to the point where a crime as ghastly as Drupal can occur.
Drupal somehow manages to be both unforgivingly, bureaucratically rigid, and an anarchic, spaghetti-coded mess – at the same time. Other frameworks are toolboxes. Drupal is a series of windows at the IRS or MVA – and it *will* take you days to figure out which series of forms you have to submit, with which boxes checked, in order to accomplish your goal.
The documentation is complete and utter trash.
It models content in a way that makes all sorts of assumptions about your use case. And those assumptions don't have anything to do with *how websites are actually designed and built*. In 20 years of building websites, I've never *once* wanted to use anything resembling the bizarre data model that Drupal *forces* you to use. Nor have I ever thought "gee, I wish my platform forced me to stop writing code every 20 seconds, so I can use an atrociously designed point-and-click interface".
I ask the community how to accomplish [insert extremely fucking basic task here], and they say: "well, you just install these 17 modules, glue them together with a bunch of configuration that couples your database to your code, and then shrug at the hideously broken HTML/CSS that comes out, because we give exactly zero shits about UX! isn't it great how Drupal makes things so easy?" Like, no – literally *every other framework on the planet* allows you to accomplish the same thing with just a few lines of code.
Most of the community seems to have little or no experience with other frameworks – so they seem solipsistically unaware that these are even problems. If your platform has been stabbing you in the arm for as long as you've been building websites, then you're just gonna assume that being stabbed in the arm is part of developing websites, you know? They seem oblivious to the fact that things are *so much easier* when your platform just lets you build whatever abstractions you need, instead of forcing its own weird-ass, undocumented assumptions on you.
Uruururrrrrrrggghgh. I can't understand how anyone defends this piece of garbage. If you're a Drupal developer reading this – please, for the love of God, try learning another framework. Once you've spent a couple of weeks learning saner ways of doing things, you'll never look back. I cannot comprehend how Drupal is still a thing.4 -
Hi developers.... so i just feel like posting this post
I'm a self-taught developer its been 6 years now and i managed to get myself a job this year at a tech startup and they actually developed this developer department just for me..... with the promise that if i manage to get this department up and running I'll get a higher position as the company grows
So it's been 4 months now and i think i'm doing exceptionally well as a developer since I'm the only developer in that organization..... and some how I feel like if i use my problem solving skills to work on other real world problems not just code and designing systems..... like bringing solutions to real none code related problems i could actually achieve more and make a big difference
but I'm actually learning a lot and hope i'll become more and do more within this organization and grab that top position role3 -
I used to love my job, the guy that looked forward to mondays, there was always something new to learn, I was passionate about clean code and learning new languages like Elixir. As a software engineer I thought my occupation had a special significance in this world, I saw possibility and potential of creating something so impactful on the world that it would become my legacy.
Now after 5 years I’m realising that none of this stuff really matters to the world, software engineers aren’t special and it’s evident from our salaries how valuable we are compared to other professions in sales, medicine or law. My friend who works as in customer success management makes more than me.
While some of us will be in the lucky few whose work will change the world, most of us will just be another cog in the wheel, all that matters is how many product/features you ship out, nobody gives a shit about code quality, concurrency and architecture design other than us5 -
Set some dev goals..
TLDR: spend less time at work coding
No, really..for what I do at work, I am happy. Would like to learn more recent stuff (partially stuck with vb.net), but I don't even know where to start googling.. sooo... get more free time I guess to figure this out..which is a dev goal on it's own too, come to think of it, this translates as don't spend so much time at work coding.. and spend some of it learning new (dev related) things outside of work..new/different js frameworks, python (been fixing/adding some code here & there, but never learned it properly & to check it's full potential, I heard it is awesome btw), read up on algorithm time costs (learn how to fuckin spell this!!)...
And kinda dev related as I will have to spend less time at work is to get back in 'sort of' shape and climb (more)..and spend more quality time with my husband, who is too good, totally supports me & my work, so I never get to hear him nag I was working late, which leads to 'stop working so long' goal I rly need to get in order or I'll burn out again, and I'm bitchy and horrible whe BO..and we don't wanna see that again..
Sum up: work less, learn new things, climb more, be happy/content.1 -
20 years ago, in China, they sold a so-called learning-machine which is a modified version of super Nintendo with a full sized keyboard, you could use it to learn how to type, and play Nintendo games. somehow it supports basic, and the manual book have printed a full code to create a stupid game with you could move a super Mario character with arrows, me and my step brother spend a whole day typed the 40+pages of code and enjoyed the game for 5 mins. BTW you can not save your program. after that I think it is so cool to create vedio games by programming.
-
Heyyy DevRant Fam! It’s definitely been quite awhile since i have posted in this amazing community and I apologise, i’ve been extremely busy with my uni work and just life caught up to me 😅, also as always I really hope everyone is doing very well wherever you may be as always :-).
I’d love to ask you guys a question that has been on my mind for a while now 😊, I’ve been thinking of making my own password manager for a side/fun project. What I’ve been doing is I’ve found a open source project on github and downloaded it , loaded it up and read through some code, from memory the project is called ‘keepass’ and its written in c++!.
I’d love to get some advice from you guys, how do i go about learning and understanding open source code :-)? What is some advice you can give to me? Anyways I’d be very grateful for any piece of advice :D once again as always hope everyone has an amazing Sunday night and long weekend, wherever you may be!.
Thank you for reading my very long post sorry for rambling on 😅.
Kind regards,
Milo ☺️4 -
I recently started learning Erlang. This is the story of how I got trapped into it.
When I code, I usually use my trusty text editor and a terminal to either compile my code or run tests in the language interpreter. The interpreter, erl, works fine, but when I wanted to close it, I ran into a small issue.
Because I never know what the command is to close an interpreter, I usually use the EOF character (^D), that is widely recognized. Except erl does not react to it, not even a tiny message saying it won't close or doesn't recognize the output.
Alright then, let's try quit. That's an atom, it does not behave how I want.
quit() is an undefined shell command, exit() terminates the shell process but the interpreter automatically starts a new one...
But I get the welcome message, telling me to abort with ^G! Some progress, finally... except ^G redirects from Erlang interpreter to user switch command. Damn, another interpreter...
I ended up killing the process from an other terminal.4 -
So, my son is in the STEM program at school. They are suppose to use engineering methodologies in their learning process, according to the school. Apparently there is a new engineering process of step 1 try to write code for robot, step 2 build robot, step 3 make CAD design of how you will build the robot, step 4 write requirements for how the robot needs to function, step 5 robot doesn't work right, and step 6 lose robotics competition.
The other thing that is irritating me is they don't require kids to meet deadlines, just whenever you get it done is fine or if you need 10 tries to get it right. This is the second time the whole class has been disqualified from a competition because the teachers can't keep them on task.
I'm starting to really think public schools suck.4 -
!rant
Recently I started to be interested in how code actually work. I do a for-loop or an if-statement but how do they actually work at the lowest level.
Another thing I've been interested in is security. I thought about learning how to hack my own systems in order to learn how to write more secure code and keep people out. But I'm a little afraid that as soon as I start look at how to hack, the police will storm through the window and take my computer 😂😂8 -
Unpopular opinion:
Coding on paper exams actually do help at beginner stages of learning to code.
It makes you at least think how to write things simply, without overthinking the problem, makes you familiar with semicolons (so all you stupid fks wont complain that it has taken you 2 hours to find missing semicolon (actually, who has ever encountered that problem, besides memes?)), makes you learn the syntax, just many benefits that spoiled OOP/FP starting kids cant see, because they relied on autocomplete so much.
God, I hate people who are trying to render things stupid just because they can't see the fking point -.-'
Losing my mind about who goes into "programming" and who calls himself "developer" is just fueled by that.8 -
Been vigorously learning how to code and I've caught myself ending sentences with semicolons;
#java1 -
I really need to get out of this clusterfuck of a mess I got into, A.K.A. our website projects. Now, it feels more and more like all these problems and issues we're having are all my fault.
Here's the thing: I had 0 experience on web development before I got this job. I started as an intern, expecting to learn all the right practices and techniques on building websites. Nope. What happened was I was thrown in this big project, responsible for almost every functionality that it was supposed to have.
A junior-level guy. Doing a huge project on his own. Hell, I'm probably even lower than a junior. But here I am, pigeonholed in this shittard. My boss even said to me, "you know more about the website than I do." Fucking hell. He's not even aware of the clusterfucks I've done on the codebase because, fuck, what did I know? I don't even get feedbacks about my code. I don't fucking know if I'm doing all of these shit right. I don't know if this function is supposed to be here, or if it's supposed to behave that way, and, shit, the concept of test-driven development is probably something my boss has never heard of before.
So right now, I'm a bit obsessed with web development best practices, and how to write clean, maintainable code. I would probably get more learning from going to meetups than I will ever have from this place.
This has been a very shitty start of my career. I hope a much better learning experience will be plentiful at my next job (if anyone's willing to hire me). It would be like starting all over again. Sorry for the long post. I would like to put this as a blog post, but it's probably not a good idea, specially since I'm looking for a new job. Thank God for devRant.2 -
Was a PC repair guy. A wealthy man saw that I have potential, asked me to build a website. I started learning how to code. Frustrated, quit the job, and bummed off for weeks. Started fresh, like magic, everything seemed easier without the pressure. Freelanced for a few years, now at a media company, as an XD.3
-
I'm working on a codebase that is terminally ill. It's split so badly into microservices that no matter what you do, every one of them talks to every one of them over and over. If there's any way they can avoid just invoking a method on a class and send themselves a message or make an HTTP request, they'll do it. One of the services just sends messages to itself for no apparent reason. Except it doesn't even send messages to itself. It sends an HTTP request to a controller in another app, and that controller sends a message which is received by the same class that made the request.
The point is that this application is screwed. The defects pile up and there is literally no one who can understand what it's supposed to do in any scenario. I'm good at this. I can follow confusing code and document it. But not this one. It's overwhelming. It's insanity.
When these defects come in we're told to just run the app from the UI, see what HTTP requests it makes, and start tracing the code manually. Running and debugging it locally would be a nightmare but it's impossible anyway.
They decided that we all need to understand the application better so we can work on it, so we were each given six poorly-define five-hour tasks to "understand" various things. Those things don't make any sense. It's like if someone gave you the source code to Excel and told you to spent five hours understanding columns, five more understanding rows, and five more understanding cells.
Here's the thing: I'm okay with learning and understanding some code. It's part of the job. But I'm not going to abandon my career as a software developer so I can become an expert on debugging their awful code. I didn't make this mess. I'm not going to live with it. I'm moving on as quickly as I possibly can.
I've tried to explain to them that if they want the situation to improve they need to improve the code. They need to learn how to write tests. If your plan is that people will study your code, know it inside and out, and then spend all their time debugging it, that's a plan for failure. Everyone who can will leave and take what they know with them.
These companies just don't get it. They need their software to work, but the types of developers who can help them don't need that software to work. No one capable of doing good work is going to spend several years debugging their awful code unless you pay them a crazy ton of money.
Just don't make a mess in the first place. Hire developers who can do a good job. If you hire the cheapest people you can find you won't be able to get someone else to fix it later. It's not personal but I wish failure on those projects or even those companies. I want them to fail because failure is so expensive. I want them to fail so that others learn from it and don't repeat the same mistakes.
As an industry we're a bunch of genuine idiots. We just keep doing the same things over and over again no matter how much it hurts.1 -
No Rant:
I guess I will start a religous discussion with it but I want your opinion on what tool I should learn.
Vim or Emacs (or stay with my IDE)?
For all of my programmer life I used IDEs... From Eclipse over CodeBlocks over VS to IntelliJ.
But now I realized that I want to be one of the cool kids. And using plain IntelliJ is uncool. No matter how much I love this tool.
So now I want to invest some time into learning. I never managed to do much in Vim since all code-completions sucked ass, feedback on syntax errors was bad and I never saw how I could be any faster with that shit compared to what IntelliJ does for me.
Will Emacs solve all those problems? Will Emacs make me code 1000 times faster and make having a mouse useless?
Or am I just too dumb for Vim? Can Vim itself do what my IDE does for me? Will it make me look as cool as I want to be?
Or should I stick to IntelliJ and just install Vim bindings?
What is your opinion on Vim vs Emacs vs any IDE?8 -
I've only been working for a about 6 months, so this is the best I got.
I'm working with a software/programming language I've never worked with before this, so sometimes I have to go ask my co-worker if what I did is correct, or ask him where some information is stored.
So sometimes I do someting, and then go ask him if it's ok and I can continue. He looks at my code, starts asking questions and (sometimes, not always) says something like "this is not it, let's do it together". Alright, I understand that, I know I still make a lot of mistakes and I'm still learning how to work with this. It's all still very new to me.
We start looking for stuff, making queries, programming, etc. and then we end up with the exact same code that I had made... But, somehow, now it's correct...
This happens so much, I hate asking him things now!8 -
After years of working at a place where you are as good it gets in terms of domain knowledge, it can be refreshing to work with someone who has way more experience than you.
The previous company I was with wanted to have me as one of their primary engineers, and everyone else who came in would have to learn from me (most of them were low-skilled contractors). This should have been great in theory, but it was actually quite frustrating since I did not relish being the mentor figure while just being two years into my career. Despite it getting to my head at times, I was aware that I still lack a lot of skills, but with no one to teach me, I hardly progressed in terms of growth, even though the leadership treated me well and listened to me.
Took a leap of faith and quit, to join a start-up where I would be the most inexperienced (and the youngest) person. Has been a few months, and I have stumbled and goofed up more times than I like to admit, but taken with the right mindset, it is nice to see how a team of professionals goes about it. It is a learning curve to get back into the mindset of the novice (after more than a year of being the undisputed "go-to" person), and to make effort knowing that you'll fall short in multiple places by the standards here, but at the same time, it's nowhere like the frustration I felt previously when my head was pushing against the shallow ceiling.
Fun part is, the learning is almost not at all about the code, but about how to be a proactive team member and all the things to think through and finalize BEFORE getting down to code. Some of it is bureaucracy, yes, but given the chaotic place I come from, I don't really mind it as long as it only goes as far as what is required.
The most amusing part of it all to me is how I try to be humble and listen to people (everyone's got a lot more experience than me), but I'm often asked to be critical of what others say and poke holes instead of just taking what they say at face value, which has been one of the most challenging things to adapt to for me (for similar organisation cultural reasons mentioned previously)/1 -
I really miss having a team. Don't get me wrong, right now I do what I love and I got into a position where I can actually do Quality Assurance instead of just testing and I enjoy being able to actually change things instead of just repeating what problems there are and acting surprised when the same processes produce the same bugs over and over again but I really hope that we'll interview anything else than mouthbreathers soon.
I'm aware of the fact that QA isn't sexy and that few people who could become "Software ninja Rockstars" choose to go into it but can it be that hard to find at least two or three people who can write and read code at least on a junior level and understand how web protocols work? I get the feeling my entire branch is nothing but shit talkers clicking around blindly on pages.
I just want to exchange ideas again, come up with innovative tools, tweaking processes, learning from and teaching each other while we watch the entire operation get more and more efficient.1 -
I brought this up before, but what’s with these claims of getting a job after learning to code for a few months? Can this profession be learned that quickly? Am I just dumb for taking years to get my degrees and land a great paying development job and gaining skills and experience to become proficient? My self esteem takes a huge hit after reading these things but what they leave out is whether these jobs are internships, how much they were paid, where they worked etc.
Sorry, just a little incoherent and cranky bc i slept for just a few hours due to a toothache. I’m not blaming these people at all, I’m just kinda questioning my abilities atm8 -
First Year in College.
I have been into computers since 9th Standard. What I meant was I could make music, edit images, play and install games after downloading, hack them(change values) using Cheat Engine, make trainers for myself because why type when you can freeze, format computers using a pendrive (trust me, I saved a lot of money) and then finally, make some presentations and send emails.
Now, College begins. Programming in C language. I don't know what the fuck that means. But they say, it's 'essential'.
Enter Professor. "Okay students, we begin with the course on C Language. how many of you know pointers?".
Me: Wow. Sounds cool. But, I don't know anything.
I couldn't love coding. I think I love to code but at the end of the day, I'm a sick Undergraduate who fell in love with a Bass Guitar and Vocals and wants to code for a living. Heavily interested in changing the world and all that stuff but have no motivation and even if I have, I can't give a fuck about it.
Peers are getting medals everywhere. I'm sitting alone in a room learning C. They said, It was 'essential', but they never told me, 'why'.
Not a rant. IDGAF what you think but I'm a failure looking for ways to make a living.6 -
Tabs, or No Tabs? I did the same as this commentor 2 years ago. I can code so quick now because of this simple switch. Here's why:
(source, Laracasts.com)
Ben Smith
"I think the most beneficial tip was to do away with tabs. Although it took a while to get used to and on many occasions in the first few days I almost switched them back on, it has done wonders for my workflow.
I find it keeps my brain more engaged with the task at hand due to keeping the editor (and my mind) clutter free. Before when I had to refer to a class, I would have opened it in a new tab and then I might have left it open to make it easier to get to again. This would quickly result in a bar full of tabs and navigation around the editor would become slow and my brain would get bogged down keeping track of what was open and which tab it was in. With the removal of the tab bar I'm now able to keep only the key information in my mind and with the ability to quickly switch between recently opened files, I find I haven't lost any of the speed which I initially thought I might.
In fact this is something I have noticed in all areas of writing code, the more proficient I have become with an editor the better the code I have been writing. Any time spent actually writing your code is time in which your brain is disconnected from the problem you are trying to solve. The quicker you are able to implement your ideas in code, the smaller the disconnect becomes. For example, I have recently been learning how to do unit testing and to do so I have been rewriting an old project with tests included. The ability to so quickly refactor has meant that whereas before I might have taken 30 seconds shuffling code around, now I can spend maybe 5 seconds allowing my mind to focus much better on how best to refactor, not on the actual process of doing so."
jeff_way Mod
"Yeah - it takes a little while to get used to the idea of having no tabs. But, I wouldn't go back at this point. It's all about forcing yourself into a faster workflow. If you keep the tabs and the sidebar open, you won't use the keyboard."2 -
!rant just a question. Sorry in advance for the long post.
I've been working in IT in Windows infrastructure and networking side of things for my entire career (5years) and recently was hired for a role working with AWS.
We use Macs and we use *nix distros for days. I've only ever dabbled for 'funsies' before with Linux because every previous job I held was a Windows house and f*** all else.
I'm just wondering if anyone here might have some insights as to a great way to learn the Linux environment and to learn it the right way. I'm not the best Windows admin ever and will never claim to be, but I have seen stuff that other people have done that makes me want to swing a brick at someone's head. And I feel that with all of the setup wizards and the "We'll just do it for you." approach that Windows has used since forever it allowed enough wiggle room for people that didn't know what they were doing to f*** sh*t up royally. I'm not familiar enough with Linux to know if this is also a common problem. I know that having literal full-access to every file in your OS can cause a n00b like myself to mess up royal, thus the question about learning Linux the right way.
I vaguely understand the organization of the folders and file structure within Linux, and I know some very basic commands.
sudo rm -rf /*
Just kidding
But All of my co-workers at my new job are like mighty oaks of knowledge while I'm a tiny sapling. And at times I've been intimidated by how little I know, but equally motivated to try and play catch-up.
In addition to all of this, I really want to start learning how to program. I've tried learning multiple times from places like codecademy.com, YouTube tutorials, and codeschool.com but I feel like I'm missing the lesson that explains why to use a certain operation instead of another. Example: if/else in lieu of a switch.
I'm also failing to get the concept of syntax in certain languages I've tried before. Java comes to mind real fast.
The first language I tried teaching myself was C++ from YouTube. I ended up having a fever dream that night about coding and woke up in a cold sweat. Literally, like brain overload or something. I was watching tutorials for like 9 hours straight.
Does anyone know of a training resource that will explain, in terms a 5 year old would understand, what the code is doing and why? I really want to learn but I'm starting to lose steam cause I'm just not getting it.
Thank you in advance for any tips guys and gals. I really appreciate it. Sorry for the ridiculously long questions.5 -
When I was 8, I was just casually using the computer I had, and then I suddenly started asking these questions in my head, “how does all of this work? How does the computer know when I press that key on the keyboard? How does it know I moved the mouse to the right?” And so on and so on. So I started searching for answers. Then I saw code examples and stuff and I told myself that I want to understand this and just started learning. Hooked ever since!!
-
Worst: having to deal with "senior" unity devs who bullied me out of the company I was working in and who believe people should make ~200 lines of code functions cause "context switching is heavy on performances"
Best: i have started to automate a lot of stuff and to auto-generate definitions (e.g. keys for i18n) and can't really stop doing it anymore ☺️
Extra: stopping to care about the language and focussing a lot on approaches is also a thing I consider good about this year... Last time I was concerned with learning go, now i am more like: "how do I make this hot reload" or "how can I auto-generate routing if the configuration is default?" -
I learned to program with Game Maker, downloading examples and changing variables to see what they did. After that I wanted to make websites so I followed tutorials and just see what happened if I changed variables and functions. Then came High School where we had exercises with Java and just experimented with the possibilities.
Then in Uni I learned about OOP and Functional which opened even more worlds. After a class on design patterns and designing the architecture of a system, programming was never the same.
And even until this day, I haven't stopped learning better ways to code. Oh how I long for those days where everything is new and how I can build a hello world application and be truly excited about it! That is how I learned to program and why I won't stop anytime soon. 😁 -
Am I the only one who heavily comments their code when learning a new language to the point of you essentially describing what everything is and how everything works6
-
I just spent 3 days with 1 or 2 hour of sleep just for learning a new way to code. Not a project it just for learning. And it make me crazy i cant stop thinking about that. And now im not sleeping at all and code almost 24 hours. But i feel a lot of fun while writing a line of code. I enjoyed every sound i made with keyboard.
Im soo happy now i learned a lot of things. I dont know how to stop and i dont want to stop coding.
I dont know what im talking but thanks devrant for letting me post this shit.5 -
So i've just learned C# and started learning how to use it in unity. And one of my friends asked me if I could help him with an error he couldn't understand, and I said sure (Why didn't he search up what the error meant?). I look at the syntax. This is ruby code, come on man I said i know about C# I don't know anything about ruby man.6
-
The Online Marketers I work with sometimes ask how I know so much about certain things.
Well, while you guys were partying in your late teens/early 20s and playing sports with your friends, I was sitting home on nights and weekends learning about computers, networks and code.
It only sucks they make a shit ton more money than me and work about 4 hours a day.
At least I'm making more than most of my peers and probably 90% more than people I went to high school with.2 -
People completing Stanford + Andrew Ng's course and bragging how they know machine learning in and out while having no idea how to code simplest application using the simplest libraries.3
-
When everything kind of just clicked.
I was struggling with learning how to program for quite some time when I first started, but one day I'm not sure what happened but everything clicked. It all started making sense and I felt like I could do anything with code. It was on that day that I knew I was going to be a dev for life. -
How to fail my interview 101:
1. Change your GitHub status to "I love learning new things every day"
2. Start by showing off your code katas
3. "React is the best way to do frontend"
4. "Unit tests are necessary"
5. "TypeScript is better than JavaScript"
6. "I don't have to learn CSS, I use Tailwind"19 -
First: I have to give credit to my high school CS teacher. She gave us a good grounding in computer theory about: pointers, memory organization, and algorithms.
Second: Second I just read the fucking manual. Then programmed a LOT more than people who didn't get good. Hundreds of hours during college, thousands since then. I got style information from reading other peoples code and also learned about how not to code by reading other peoples code. Ever buy a book that proclaims to teach you X, but actually teaches you a proprietary wrapper they wrote for X that has a shitty license? Fuck those people. Anyway, when internet sharing became more of a thing I started watching videos by experts and reading articles. And now I learn from people here as well. Never stop learning and always RTFM. -
Wrote a REALLY bad, simple java method to generate the repetitive parts of c# classes
Now I’m curious about good code generation methods. How I probably should’ve done this
Think I could get some advice and links on how to start learning to write simple code generators?9 -
Do you guys support today's youth learning how to code? If so, why? If not, why not?
I started coding when I was 11.13 -
Web code editors are shit for interviews!!
I was given a timed interview test to code on a hackerearth’s code editor. First of all I have never used hackerearth’s code editor because they suck. The problem was very simple and I cleared the round anyways when an actual human saw my code. But my point is why are programmers creating shit editors for other programmers in a timed environment. I couldn’t figure out for the life of me how the fuck I should take an input and output that in this shit editor. The code logic was ready but the test cases failed.
So Should I be learning about hackerearth’s shit code editor in an interview with a timer or should I be judged on the code logic in the specified time?
I seriously find these web code editors most of them annoying. Cause they aint good enough. You need time figuring out the tools first and then code the logic.
Usually in your job you’re gonna use the editor of your choice. Not a fucking shit fucked half arsed hackerearth code editor. My rant is for those of you if you’re taking interviews on such platforms, be there. Don’t rely on those platforms. This automated crap is still crap.4 -
Don't refractor for fun!
An anecdote from my previous company. A developer had written a shitty java console app for fetching stock prices. About 3000 LOC. just one java GOD class. So, when me and my friend looked at it, we were amazed how that code works with all that if conditions spanning 100LOC. so. My dear friend underestimated the complexity. Since it just fetches stock price and puts in database right. I can write it in few days and much better one. So, he started writing code in an OO way. Three days later I see he still working on it. Having a glimpse at code. The app is now Object oriented shitty and ugly.
Guess what new code never goes in prod too.
Learning
Don't underestimate complexity of app.
Be empathic about fellow developer. Don't think he has written a shitty code. Think why he had to do so.
Don't work on refractors if there is no one to guide you.3 -
Me being lazy, I wasn't able to end any learning series. Tried again with Java using YouTube videos. Feel asleep after 30 minutes, but the entire series kept running in the background.
After waking up I could understand great part of object based coding.
I seriously think that thanks to that now I know how to code. Like magic.1 -
Being victim of an arbitrary worplace's culture on dev experience and documentation makes me a very frustrated dev.
Often I do want to document, and by that, I don't mean laying an inline comment that is exactly the function's name, I mean going full technical writer on steroids. I can and WILL get very verbose, yes, explaining every single way you can use a service - no matter how self explanatory the code might look.
I know developers (and me included) can, and sometimes will, write the best variable and function names at the time, wondering if they reached the peak of clean, DRY code that would make Robert Martin have a seizure and piss himself, only to find weeks later after working on something else that their work is unreadable. Of course.
I know the doc's public, it's me, and I've done this.
But then again explain for the people in the back how the FUUUUCK are we meant to suggest improvements, when we are not the ones who are prioritising features and shit WITH the business?
Just email me when the fucking team recycles, and no new team member knows how to even setup the IDEs because this huge piece of monumental shit called CompanyTM is also run by VPN. Fuck, no one wants to access that garbage, you have no docs.
I once tried setting up a culture for documentation. I did an herculean amount of work studying what solutions were internally homologated, how steep the learning curve would be from what we had at the moment (NOTHING, WE HAD FUCKING NOTHING, jesus christ, I even interviewed SEVENTEEN other squads to PROVE they FUCKING NEED
DOCS
TO WORK
You know what happened to that effort?
It had a few "clap" reactions on a Teams meeting and it never reached the kanban.
It didn't even made it to backlog.
I honestly hope that, someday, an alien fenomenon affects the whole company, making their memories completely reset, only to have the first one - after the whole public ordeal on why our brains became milkshake -, to say: "oh, boy, I wish we had documented this".
Then I will bring them to the back and shoot them. -
After examining my model and code closer, albeit as rudimentary as it is, I'm now pretty certain I didnt fuck up the encoder, which means the system is in fact learning the training sequence pairs, which means it SHOULD be able to actually factor semiprimes.
And looking at this, it means I fucked up the decoder and I have a good idea how. So the next step is to fix that.
I'm also fairly certain, using a random forest approach, namely multiple models trained on other variables derived from the semiprimes, I can extend the method, and lower loss to the point where I can factor 400 digit numbers instead of 20 digit numbers. -
For middle and high school:
1. Let people teach who actually know what they are doing
2. Learning by doing is in my opinion the only good way to "teach" someone how to code.
(And well theory is just like math. So teach it like math.)5 -
my issues with self learning .
Me : hmm so i want to make X. how can I make X?
*searches Internet. finds 15 min video title "Building X tutorial" *
tutorial guy : "Hey guys today we are going to make X. let's start. so here is this code a.b.c(d) . This will make X for you. Ok Bye "
Me: *tries his code* Hmm cool, it works. I got X . So let's guess what his code does ..
hmm so i think 'a' does this_thing. let me check. oh yeah my guess was right.
so let's go with 'b' .. hmm ok this does this_another_thing i guess . oh yeah it works.
...
"Yes i know how to make X, yay!"
----------------------------------------------
But this approach of finding the correct code and then guessing what it does does not always help me . i make presumptions based on a limited number of tests and they might not cover all the functions of a particular code.
thus there are chances that what *i* think a particular code does is completely different from what the code is supposed to do, under different circumstances. I constantly need someone to validate my assumptions and definitions.
So any other approach to learning that you devs could suggest?6 -
Finally got my first dev job. I am looking at the code base for my company. And it’s like I know how to code in this language. But I don’t know half of the advanced shit they’re doing. I understand they have more experience than me. But I’m just not sure how to catch up to them. Or be even on the same level as them? I guess just more out of office learning?
I can read what they’re putting in the code and understand how it works. But like how they came up with it I have no clue. I guess I’ll learn over time and have to put in some extra man hours.5 -
I did not think that making a serverless Discord bot would be such a learning experience. The code itself was easy. The hard part was the infrastructure, because I decided to automate it all with Terraform and deploy it on AWS.
Before this project, I had no idea how API Gateways worked. Now I still have very little idea how they work but I managed to build one anyway. Eventually. And then I had to figure out how to automate the deployment of a lambda layer and function that would both still be managed in the Terraform state, with any code changes triggering a rebuild and update for the resource.
And then I had to untangle a dependency mess because API Gateways have some weird issues where two resources that have no explicit dependencies on each other will throw an error if they don't deploy in the right order.
And then I went the wrong way with Github actions trying to conditionally chain multiple workflows together before I realized I could just put multiple jobs with conditions in a single workflow.
And now after all that work over the course of 2 days, I have a bot that does this:2 -
I've had this idea for some time now. How about a website that gathers some of the most well written open-source code and allows you to easily read it for educational purposes? Everyone says that reading source code can be a great learning tool but directly jumping into github is not very friendly to newcomers. I saw what underscore.js has done with the annotated code link and I think it's great. What do you think?6
-
Question for game developers 🙄
I wanted to try game development a few years back, started watching unity3D tuts, but I realized quickly that I can't actually do anything, because I don't have the skills to design animation and draw ui, and it was stupid to buy components online before I knew what I'm doing.. so I left it. Was I wrong? How did you start? Is it possible to make a game on your own, or do you need a team with members who each specialize in its own area (code, design, animation, music, etc.) And if team is needed, then how do you even start learning? Thanx -
I recently went through a very detailed and well-explained Python-based project/lesson by Karpathy which is called micrograd. This is a tiny scalar-valued autograd engine and a neural net on top of it.
The project above is, as expected, built on Python. For learning purposes, I wanted to see how such a network may be implemented in TypeScript and came up with a 🤖 micrograd-ts - https://github.com/trekhleb/... repository (and also with a demo - https://trekhleb.dev/micrograd-ts/ of how the network may be trained).
Trying to build anything on your own very often gives you a much better understanding of a topic. So, this was a good exercise, especially taking into account that the whole code is just ~200 lines of TS code with no external dependencies.
The micrograd-ts repository might be useful for those who want to get a basic understanding of how neural networks work, using a TypeScript environment for experimentation.
With that being said, let me give you some more information about the project.
## Project structure
- [micrograd/](https://github.com/trekhleb/...) — this folder is the core/purpose of the repo
- [engine.ts](https://github.com/trekhleb/...) — the scalar `Value` class that supports basic math operations like `add`, `sub`, `div`, `mul`, `pow`, `exp`, `tanh` and has a `backward()` method that calculates a derivative of the expression, which is required for back-propagation flow.
- [nn.ts](https://github.com/trekhleb/...) — the `Neuron`, `Layer`, and `MLP` (multi-layer perceptron) classes that implement a neural network on top of the differentiable scalar `Values`.
- [demo/](https://github.com/trekhleb/...) - demo React application to experiment with the micrograd code
- [src/demos/](https://github.com/trekhleb/...) - several playgrounds where you can experiment with the `Neuron`, `Layer`, and `MLP` classes.
Demo (online)
---------------------
To see the online demo/playground, check the following link:
🔗 https://trekhleb.dev/micrograd-ts3 -
I guess I would say that coding changed my life because ever since I was little like 5 I was interested in technology but didint know how it was made in till 2 years later I learned that it was programming that made it. Up so when I became 10 I wanted to learn how to code because I wanted to make my own things and just overall was entertained with coding so I started learning and really liked it so 2 years later I start picking up and finishing HTML,CSS and JavaScript I'm really glad I did I get to make cool things and I'm really happing coding rather than going to my dam school😂 anyways to me code is life I don't really care about food or sleep but its fun making stuff
-
A bit late.. and not much about how to learn to code..but more of a figuring out if the kid has a right mind set to do so..
If the kid is not the type to question everything, not resourceful, not a logical/critical thinker, gives up easily and especially if not interested in how things work then being a dev is most probably not for them.. they can still persue coding, but it will end badly..
From my experience, people who have a better education than me, but lack those skills turned out to be a crappy dev.. not interested in the best tool to complete the tasks, just making 'something', adding more shit to the already shitty stack.. and being happy with that.. which of course is not the best way to do things around here..or in life!!
Soo.. if the kid shows all that and most importantly shows interest in learning to code.. throw him the java ultimate edition book and see what happens.. joke!
There are plenty of apps thath can get you started (tried mimo, but being devs yourself it's probably not so hard to check some out and weed out the bad ones) that explain simple logic and syntax.. there is w3schools that explains basics quite well and lets you tinker online with js and python..
so maybe show them these and see what happens.. If it will pick their interest, they will soon start to ask the right questions.. and you can go from there..
If the kids are not the 'evil spawns' of already dev parents or don't have crazy dev aunties and uncles, then they will have to work things out themselves or ask friends... or seek help online (the resourceful part comes here).. so google or any flavour of search engines is their friend..
Just hope they don't venture to stack overflow too soon or they will want to kill themselves /* a little joke, but also a bit true.. */
Anyhow, if the kid is exhibiting 'dev traits' it is not even a question how to introduce it to the coding.. they will find a way.. if not, do not force them to learn coding "because it's in and makes you a lot of moneyz"..
As with other things in life, do not force kids to do anything that you think will be best for them.. Point them in direction, show them how it might be fun and usefull, a little nudge in the right direction.. but do not force.. ever!!!
And also another thing to consider.. most of the documentation and code is written in english.. If they are not proficient, they will have a hard time learning, checking docs, finding answers.. so make sure they learn english first!!
Not just for coding, knowing english will help them in life in general. So maaaaybe force them to learn this a bit..
One day my husband came to me and asked me how he can learn.. and if it's too late for him to learn coding.. that he found some app and if I can take a look and tell him what I think, if it is an ok app to learn..
I was both flattered and stumped at the same time..
Explained to him that in my view, he is a bit old to start now, at least to be competitive on the market and to do this for a living, but if it interests him for som personal projects, why not.. you're never too old to start learning and finding a new hobby..
Anyhow, I've pointed out to him that he will have to better his english in order to be able to find the answers to questions and potential problems.. and that I'm happy to help where and when I can, but most of the job will be on him.
So yeah, showed him some tutorials, explained things a bit.. he soon lost interest after a week and was mindblown how I can do this every day..
And I think this is really how you should introduce coding to kids.. show them some easy tutorials, explain simple logic to them.. see how they react.. if they pick it up easily, show them something more advanced.. if they lose interest, let them be.
To sum up:
- check first if they really want to learn this or this is something they're forced to do (if latter everything you say is a waste of everybodys time)
- english is important
- asking questions (& questioning the code) is mandatory so don't be afraid to ask for help
- admitting not knowing something is the first step to learning
- learn to 'google' & weed out the crap
- documentation is your friend
- comments & docs sometimes lie, so use the force (go check the source)
- once you learn the basics its just a matter of language flavour..adjust some logic here, some sintax there..
- if you're stuck with a problem, try to see it from a different angle
- debugging is part of coder life, learn to 'love' it4 -
Hey all, just wondering what it was like for you when starting out your career.
I'm a newish dev, been full time for about a year hired right after my internship. My role has a bunch of hats ranging from DevOps/sys admin to software engineering, sort of a weird mashup of skills so it's not pure software engineering. I mainly work with python, Ansible, and some terraform.
However I still just want to say I'm sorely disappointed in my undergrad classes.
I have a "concentration" in software engineering. I did struggle in classes as I was working full time to pay for classes without taking out loans, but I don't really remember learning a whole lot that was useful in industry.
Overall I just feel like just paid money for a degree that didn't teach me very much useful stuff. Maybe I'm just lacking experience? Maybe what I learned I just don't notice myself applying because it's subconscious?
My coworkers have taught me so much, and I'm very thankful they invested that time into me. I still get ripped to shreds during code reviews lmao (definitely not as much compared to when I first started but I'm also still learning and will always be)
Plus our company docs are pretty good so I can always read through them or search our codebase for examples on how to utilize in house tools etc.
I definitely hit the jackpot with this job, just feeling like I should have been prepared more.4 -
Hi guys. jeez i have to say i mastered java and python those languages are easy if i keep this up i might be able to make my own api or get into java cryptography maybe show android app developers how to keep their source code safe from reverse engineers to be honest on android i started from python, to java to AIDE (android app), to android studio i even made my first lib file these aren't games im still learning i have like one project is like a clicker game lol6
-
I got a job opportunity in another country and went there for a 3 weeks trail working, I've worked on two different projects, one was with a CMS called Contao and the other one on WordPress, I'm fluent on WordPress, I've been developing themes for more than three years now.
With Contao I started the learning curve and for 2 weeks I learned a lot of stuff.
Before coming back for Visa stuff and taking care for few documentes needed they asked me if I could still do some freelance stuff from my home country. I said yes and got invited to the GIT repo.
It's been a week now that I'm trying to understand how stuff work and everything that the senior dev wrote is way advanced from everything that I've ever worked.
I couldn't finish more then 5 minor tasks simple CSS and PHP logic and I'm feeling very embarrassed.
I just wrote to the senior dev and told him that I'm way behind with my coding skills and I'm seeing dreams with code that don't work.3 -
So many years ago while I was in college learning to code and interning as a developer working on a javascript based image designer. We were learning event handlers in class and I was learning how to work with jQuery.
So I decided to build an event handlers to move objects by key press. I had an afternoon free and dont remember merging it to the codebase.
A few months later, something was pushed that took key press the event handler and the testers complained about losing the event handler I made.
End of the story, I added a feature that is still being used because I wanted to learn how to do something. -
How to learn Flash in 2 hours.
1. Take a job to amend some HTML5 banners.
2. Realize they were created in Flash/animate CC and exported to HTML5 Canvas
3. Have 'fun' learning a very innovative way to create banners...
Well to be honest as soon as I got the hang of it, it was not that bad, if you ignore the generated code. -
It's really sick how beginners start to code in Javascript and CSS, and their complex frameworks, without even understanding atleast the paradigm first. Googling your way up can be fine for smart ones, but as least time optimal this learning method sounds, it's as dangerous and non-productive too.
Also once project gets to a certain level, it's practically impossible to revisit and refactor old codes in front-end languages which kills the maintainability. Views?3 -
Feeling over stressed, over worked and highly underpaid for all this effort. Worst of all I feel the passion leaving me for this work.
I graduated a boot camp last April and was blessed to contract part time at a startup learning how to work in the unity game engine. The team is two other guys, both super smart snd been working in this field for a long time. Since then I’ve added personal projects, finished a data structures and algorithms course and started the Leet code grind. I told this startup that I’d start looking for full time employee positions soon and they understand. They couldn’t offer me much money, or stock options, just experience they said. I feel like I’ve basically been grinding 24/7 since May. I’m going to run out of money soon and it’s all starting to take a toll on my body and mind. I never really sit on the couch or watch something anymore because I feel I should be doing something productive. This just makes me feel like everything I’m doing is meaningless and without impact. I feel like a wheel turning endlessly in sand and not moving forward. I even feel it zapping my passion for developing.
I just can’t help but feel that I’m burning out here. I have a new experimental feature to do for the startup and the amount of things to learn seems overwhelming. Especially with Leet code and interviews coming up. The two other devs on the team are extremely busy as this is a part time endeavor for everyone. I’m also in a relationship I started to feel detached from which causes it’s own stress. I love VR and AR which is why I chose this startup to learn Unity. Now I just feel like I’m dividing my efforts too much. I’m shitty at unity and also less good at web dev than I would have been if I focused on it purely after boot camp grad. On the plus side I will say I’m doing what I want. I just can’t help but feel like that damn tire in the sand turning without traction. And I feel the patience in me for self learning the basics and iteration over a complex project is waning. Without patience the learning is rushed and I don’t learn shit. I also make dumb mistake and “hope” I don’t run into errors. I feel I’m just trying to bang it out for the startup instead of use it learn cool shit. Anyways it feels good to rant. I can’t wait for a full time job, established work hours, and decent pay so I can live life and have off time.
I assume wherever I go I’ll always be in a spot where I need to figure how to get xyz done with minimal help or oversight. I just would like to be paid for it.8 -
Every time I check my old codes i start insulting my self..... How the fuck was i that stupid..... Still Stupid tho but i m progressing :D
I m learning to code by myself without any instructor :').... I wanna use unreal engine but i forgot how to code with cpp since i m only using C# now.. made winform apps and installing xamarin to learn about cross platform devloppment :)1 -
Learning New Design Patterns...
When all you've got is a hammer, everything looks like a nail. Arg.
Recently, my code in almost any controller is like so:
return (new MyFancyClass($param))->methodThatHandlesIt();
that can't be the solution to everything.... although it kind of is
how can I beef up on patterns and avoid crushing a screw into the wall without realizing it's not a nail4 -
think the downside to rust is safe is holy shit I haven't even seen passable code
everybody shits on JavaScript developers but I think their code quality is obviously better (cuz otherwise if you make it unreadable or a mess there's no debugging that)
the problem with rust is it's safe so you can write the dumbest shit and if the compiler says it works then it works so you just keep it there
over and over I just see this
90% of this codebase is literally useless moves and abstractions that you could've cut out
to be fair I'm only now learning how to reduce clutter in rust (but I do have literal brain damage)
but I'm not sure I've ran into a codebase not suffering from this
also on the other hand it inspires me to care as little as these guys. the bar is so low you can just ignore the bar. one of us, one of us, one of us. if it compiles it is production ready, ayyo1 -
How I knew programming was for me?
In high school, the special education teacher who was assigned to teach the 'Computer' class. He taught us (maybe 5 of us in the class) Basic on Apple IIe and using various apps (word processing, database, spreadsheet). One day he brought in his personal Macintosh and showed how one could write code 'underneath' clicks to perform operations. Using Pascal, I popped up messages, made beeping sounds, etc. Blew my mind.
Seeing my and other's interest, he got the board to approve a 'Advanced Comp' class for the next semester.
First day, the room was packed.
Teacher: "Raise of hands, who thinks this class is 'Advanced Composition'?"
<most of the room raises their hands>
Teacher: "That's Mr. Early's class. This is Advanced Computers. You're welcome to stay, but we're going to be writing programs and learning other computer related topics"
Next day, the class was just me. I knew then I wanted to do this the rest of my life.
Thank you Mr. Hitt.3 -
I'm an apprentice software engineer, have been for about a year now. I feel so dumb all the time. Used to be I'd just teach myself at my own pace for about a year or two (which was slow, on and off because of life getting in the way). Now I'm surrounded by programmers with decades more experience than me and I can't help but feel inferior.
I want to get better faster but, I work full-time now so I don't know how to supplement my studying. I've been studying linear-algebra online because my maths is crap and I remember one of my colleagues mentioning that it would be useful. But now I'm not sure because apparently discrete mathematics is better.
I also need to keep up with Java since that's what I'm learning in university but, I'm mostly using React/Typescript in my current project. By the time I finish work I don't even want to look at a line code and I lack the self-discipline to force myself to study in the evening.
I need to pick a direction and stick with it but, it's seems to just be increasingly harder as I've gone on.3 -
The sheer amount of information to be gained in this field, and in my case specifically at my job, is mind boggling. Maybe it's just the week of fatigue talking here but I feel I'm way in over my head. Learning business, teamwork, development strategies, progress tracking, the code base itself, how different teams work together, how different sectors work together, overarching goals, individual goals, and then going home and having a social life, good nights rest, and somehow exercise in there?
It's certainly overwhelming. I know being new makes it seem worse than it likely is but I don't see how people even manage to amass so much knowledge in such a short amount of time. It's honestly so exhausting to keep track of everything and try not to make mistakes that it's nauseating. I'm still gonna try but good lord does it feel impossible. -
Idk why but this morning I was thinking about this high school elective class where we learned Adobe flash. But specifically 2 instances where I ignored the teacher and did my own thing
1. We were using Sprite sheets and he had us use photoshop to cut out the Sprite to a different layer and manually save each Sprite one by one to disk to use in flash. Some sheets had 50 fucking sprites
So I found a script for Adobe (action script I think they called their Javascript derivative) that exported every layer for me without all the manual clicking. There is probably an even better way. But this worked for how lazy I was back then
2. Our final projects we could do anything but he suggested not doing anything too complicated cause of time constraints and he barely taught is the scrptinh language for Adobe flash so making flash games was almost out of the question.
Me being stupid really wanted to make a working pong game. So I spent too long watching a German (i dont know German) tutorial video I found, and troubleshooting outdated code from that video. And improving things where I could with my limited knowledge made worse cause I wasn't interested in programming and didn't start learning python until the following year
Yeah don't know why I was thinking about those. But I feel it's a good perspective on how far I've come. From hacking together a pong clone with no skills, to being hired to automate and optimize processes and legacy projects -
What do you call time spent by a new dev learning a company's codebase?
Genuinely asking because, as a non-native English speaker who has to communicate with English speakers on a regular basis, I usually end up saying that a dev is still studying the code or familiarizing himself with it.
I'm not sure why it kinda feels off for me. Is there a specific term that describes this?
Sort of how technical debt tells me that it's the cost for someone being lazy with his work before.10 -
Learning how to leaning. It is not emphasized enough in work place. Reading, speeding, read code, speed reading code. Comprehension of code, grit, growing mind set.
-
We work with multiple platforms, a legacy language and c#. This dev uses underscore between variables in c# and camel case in the legacy platform. The thing is the legacy system has used underscores since 1981 and I've never seen a readable example of c# using them between words.
I also told him I was working on learning to use patterns and how the process of software development should work by training. His response... Why would you want to do that?
He also copies and pastes code everywhere and pays no attention to scope.
And worst of all I'm his coverage when he is gone. If I have to debug one more sloppy bug I am going to face desk. -
Well... I guess I started learning how to program so many years back when I thought I could fix my girlfriend's mood swings with code. Guess what: we are married now and I'm still learning how to program!2
-
Hi so I'm learning python in my spare time and I'm in a national competition. I've been told that programming is something my college has always lacked in and in the competition they fortunately use python throughout the problems. I have some example problems used in the last year competition (it was publicly released) and I'm going through them to get an idea of the problems we/I will face. Now I'm still learning python but I understand some of the code at hand. However I still need a little bit of help to understand some of it which will also help me get to a resolution.
Some of the questions I have are:
1. What exactly is the ordinal? I've done some research and I have a small idea but I couldn't find anything to really fill me in and explain how to use it, well in python at least. I saw an example for Pascal but that didn't do much.
2. What is the sys.argv? "The list if command line arguments passed to a python script". I'm not quite understanding that.
3. I know for is used for looping and I know an example say "for a in range(10):" but I'm not understanding the for c in password:
4. Where does the 1000 come from in the builder += 1000.
5. What does the 83 represent after ord(password[1])
6. I know the if statement is saying if this then do this so if __name__ == "__main__":
main()
It's saying call in the function main but where does the name and main come in that part?
Here is the image:
Thank you for your responses in advanced!
One person doesn't have to answer all. Time is precious I understand.8 -
more people should be learning how to code... we have to prepare for the invasion of programming cat-robots!
which programming language would you use to defend yourself?7 -
So I see posts about an interview question/challenge of inverting a binary tree. I don't use trees very often (mainly file related or parsing server nodes), but I thought I would learn how to do this.
I saw a page that started talking about different ways to invert enough to understand that one type of inversion is swapping left and right nodes. So I stopped before they showed how.
Then I created a test program that has a tree structure and also can display a tree before and after modification. This was kind of fun.
So then I wrote the inversion function. It was less than 10 lines of code. Wtf? I thought it would be harder than this.
Then I started wondering where trees were used. So today I have been learning how they are used and why I might need one to solve a problem. One use I intuited was parsing regex or a language. Apparently it is useful there.
What I am learning is that a lot of these interview questions are really test to see if you can comprehend instructions when stressed. Or you will ask questions to clarify the task. It doesn't necessarily test your ability to solve hard problems.
One thing that perplexes me. If inverting a tree is swapping nodes left<->right, then why not leave data in place and just swap roles in the functions. Maybe I completely misunderstood what inversion means or why it would be done. I guess if this is not inverting I have the structure to try other methods now.2 -
Dell Summer Internship Experience
Firstly,to be a part of this process it is important to clear the exam conducted by college and according to me it wasn't something which can't be easily achieved so to prepare of this exam stick to basics of all subjects which have been taught so far till semester majorily data structures,data base,Java,C, operating system were asked.Basics of all following subjects should be clear which also going to help during internship.I myself prepared for the test from geeksforgeek.I tried to gain as much as basic knowledge of subjects I can.And after selecting from test you have you go through hackathon on that personally I think one should be prepared with latest demanding skills.Mostly all the hackathon topics were in and around Machine Learning,Block chain,Web development,Databases.So typically should be aware of all these technologies and how this can be used to enhance in project.During hackathon days it is important to be interactive,it is good to clear doubts or explain your idea and how innovative you project is and how different it can be and further keep in mind how your project can be industrial utilized.Try to make your project more in aspect of how industry going to adapt this or how this problem's solution is perfect in every terms for a company.And majorily at last it comes down to how to present your project infront of your panel.I think keep that session as much as interactive you can,try to answer their queries,and most importantly know your part of the project very well on theoretical as well as on code level. At last you have to go through a HR interview in which firstly you have to be prepare with a nice resume in which you to include all your achievement's,projects and most importantly keep it short and simple and include only those things which you are completely aware of.For interview first try to know and learn about company, it's goals,in what field it is presently working and during interview there is nothing to worry about you just have to talk like you are talking with a normal person,express all your views ,try to speak out. Confidence is one important thing for this interview.So this was conclusion of my experience from hackathon hiring process from Dell.5 -
Took the dive and started learning kubernetes for the last 90 minutes or so. All I can say at this time... is... fuckin' hell m8!
It's some pretty damn cool tech and deconstructing the pieces to understand how to properly build on top of it has been interesting; to say the least.
but shit, man...
the amount of abstractions happening on top of docker/containerd are just asking for tons of problems hahaha. The last place I worked, we had a fair share of devs that either could not or would not bother with trying to understand docker and would constantly push code to the environments, shit would break, and then they'd come to my team and ask us to basically be human log parsers for them... how in the hell my last company is going to fare with trying to roll out kube is beyond me.
tl;dr - kubernetes has a buttload of moving targets and abstracts a metric-fuck-ton of stuff. Last company I worked for is gonna strugglepuff trying to use it. -
It's now a few months that I'm doing my first internship.
And I feel pretty bad.
The company is great, but the software I'm working on is horrible, bad coded and a nightmare to maintain. I think it's a common situation: fixing a bug opens other twenty bugs.
Also, the boss doesn't want to spend time to rewrite any part of it (it's not a huge thing, it would require at most three weeks).
I feel like I'm not learning almost anything and I'm not practicing anything about what I studied.
Also, when I go back home I don't have any will to code, even just to practice.
How should I feel about this? Is this a normal situation and I'm just somehow spoiled?8 -
Following from https://devrant.com/rants/1516205/...
My emacs journey day 0-1
0: quickly realised what I was getting myself into, wow that is a learning curve. Head is buzzing with different key commands (and thank you to everyone who's helped out in my original post). I've been here before with Vim, but it's so hard when I am proficient with another editor, one of the most difficult aspects is getting it set up to even format my code appropriately (the right tab width etc), but I press on, something tells me it will be worth it in the end.
1: I come across a tutorial for clojure and emacs (https://braveclojure.com/basic-emac...), this looks good, oh sweet it shows how to load a good configuration, some more useful commands, feels like I'm getting there. Then it hits me, I manage to put my finger on why I decided to take the plunge: emacs isn't an editor at heart, at its heart is lisp. From its core it is scripted using one of the most powerful types of languages. Rather than some bolted on domain specific scripting language.
Now the real learning begins.2 -
My mom was a media designer and as a kid I liked watching her doing stuff with CorelDRAW. And as soon as she played Sims in the evenings I really wanted to learn how to make a window and stuff in it happen.
So I started learning C, because my stepdad had a book laying around. (He did not know how to code by the way, now I'm asking myself why we even had this book)
But never got further than a few console applictions asking for input, messing with it and printing something.
Later I got into HTML/CSS/JavaScript (in that order over a course of a good 3 years or so) because I wanted to do stuff people can see and easily reach (an exe wasn't the nicest way of showing people something imo)
And that's when I totally fell in love with JS and it never stopped from then.:D
I did a few excurses to C++, Java, VB, C#, such kinda stuff and learned many many things about how stuff actually works. C being my very first language immensely helped with that.
I'm also trying some game development, as this was one of the main reasons I started coding, but I'm not creative enough and do it less and less.
Nowadays I do HTML, CSS, JS, TS and PHP for a living and I love it.:D1 -
Fuck... What am i doing with my life... 3years of college down the road learning android and nothing else, currently neither fully graduate nor employed. Can't make an app bigger or more useful than a fucking todo, can't use my skills to earn, Currently earning not even a penny, parents fighting everyday, struggling to make a living , am a fucking waste :'/
Those open sourcing assholes have awesome apps that i want to read, understand and fix their code, but they aren't gonna pay me shit. Plus they were the ones to have the guts to make full scale apps and open sourcing them, i can't make shit without giving them a month. How am i gonna survive 😔3 -
!rant
I see a lot of people complain about uni degrees and stuff because they don't learn how to code etc. Is this really the standard?
I mean I'm only in fourth semester bachelor and had coding knowledge before starting uni. But we had basic to intermediate java in the first two semester, now learning how to write secure code and OS-Level stuff in C++, we had a module with practical Assembly coding all while still learning all the theory.
At the end of the first semester we had to write a terminal game in Java. I mean of course that's not "real experience" but if you dive in you definitely learn the basics you need to get started in real life.
Or am I wrong completely / just in a weird uni?6 -
Worked all my life in C++/Java and for the first time in Android, finished the android app (ffs that's one messy framework)... now they give me an old macbook and send me into swift/xcode, I have been trying to connect two text fields and a button for 90 minutes, getting furious knowing I have to finish this app all over again for ios, please tell me how fucked am I? Is it better or worse than Android when it comes to a learning curve? I've googled this and usually it's fanboys fanboying, has anyone done both and has any advice?
P.S. I'm young and still tend to learn fast, but man this is really giving me shit, especially the IDE and interface builder which I despise as a concept, rather just write code instead of dragging and dropping...3 -
I feel the need for a personal AI is real. I mean at this stage of my life I feel replacing humans around/close to me with a strong AI.
The idea is kinda creation of a strong AI but control its learning ability limited to one user.
Pros:
You have someone who understands you completely.
Knows what/how to talk no matter How's your mood.
Could be used to calm down the user even in critical situations.
Besides, if something doesn't workout just fucking tweak the code its yours no matter what the fuck you do with it.
Do I make sense??3 -
!rant
Learning iOS/Swift Programmer here.
I feel like Apple’s Developer Documentation is extremely hard to parse.
For one problem, it feels like there are 50 similar ways to deal with it; but only one way will actually work.
There also aren’t enough examples in the docs for me either, they just seem to go: “Here’s some code, figure out what it’s purpose is.” for most things.
I also feel stupid, because I’m using the Hacking with Swift tutorials to learn iOS Development(Great Tutorials Though); and I don’t know how to just build an app from scratch. (i.e. creating swift files and assets and compiling from the terminal.)
And using StackOverflow feels like cheating.
Lastly, I feel awful inside when other people see my work and think I’m a genius, when really, I feel like I barely know anything at all.
I’m I alone in this observation?
Or just dumb?6 -
I honestly have come a long way. But I still have these moments when I just lose confidence In myself, and while grieving it can be worse/more frequent.
I’m being taught some networking programming from this person I befriended and it’s going wonderfully! But I don’t know how much I’m taking in. I don’t know if I’ll be able to completely understand while I’m using what I’m learning, but I guess part of the learning is by using and doing. But what if I need to change it up for a different purpose but I don’t know how?
What if I’m not programming enough? When working on this project/learning the stuff from my new teacher friend to actually make some of the stuff I usually work on that for 30 mins to an hour and a half maybe even 2. Relax, do some college, play games, then later I’ll try to work through a few exercises of my C# WinForms book.
And before you say it I’m not balancing too much on my head. I’ve learned GUI’s before with Python I’m just reflecting that to C# and it’s easy and I’m always in a separate headspace for networking. But it all just doesn’t feel like enough?
It also doesn’t help that i don’t feel like I’m doing anything special that I can boost my confidence with. Usually in a project I won’t feel like I’m doing anything until a cool or special feature is made and I know that’s bad I hate it but I can’t avoid it and I want to feel good even when nothing completely out of this world is made that day.
And I’ve definitely come a long way I’m proud of myself but I just hate getting these feels. And It happens a bit when I’m learning because I’m afraid I’m not learning and I’m gonna keep copy pasting the same code snippets for different projects and I don’t want that I want to be able to fucking edit and change it or make a completely new one of whatever it is but my design but I guess that takes experience with it first.
Thanks for coming to my TED talk -
So I get an internship and I am obviously very happy about it.
First day at work and I get a brief idea of what my project is and it was related to machine learning with tensorflow which I have experience with.
Come tensorflow lite and NN api, my job is now to convert tensorflow model into tfLite and use NN api whichpart of NDK and I have 0 clue about it.
So I obviously go to documentation and read up about it. Goes to Google sample to checkout NNAPI example and I freak out looking at the no of files and the code cuz. Wtf are these JAVA CPP WRAPPER AND NATIVE CODE .HOW DO I EVEN START WRITING CODE FOR IT. WHERE DO I BEGIN. HOW DO I USE NDK WITH THIS. THERE ARE NO OTHER EXAMPLES ON THIS REEEEEEEE
Legit feel like quitting already2 -
Just wanted to say how much I am enjoying learning to code.
I'm using team treehouse to learn. Android app development.
Going well so far. The instructors really explain it well.
Let me know if you guys want a referral code.1 -
!rant
I'm finally learning to incorporate multiple desktops into my workflow. So far, I like how it segregates my social programs from my web browsers from my code applications.1 -
!rant but a question...
I know that with the vast examples/tutorials online this may not be necessary, but I wanted to ask the community if you guys/gals would recommend going back to school to get a formal CS education or if it would be a waste of time, money, and resources compared to just using web based sources? I've tried the college thing 3 times when I was younger but couldn't concentrate and lacked the discipline to focus and finish classes. But I'm a bit older now and wanted to know if you would recommend going back to school or if time would be better spent performing self-study and learning from home?
I'm still extremely new to coding and programming and only have basic knowledge of actual coding and a lot of the theoretical stuff in programming is completely foreign to me. Like for example, how to optimize code. I know that refactoring code to have a smaller more efficient footprint is always desirable, when it doesn't interfere with readability, but I'm unaware of where/how to modify code to run efficiently. Of course that may be wayyy to advanced for my use cases anyway 😂.
I'm trying to teach myself python as it seems like a great language for starting out and getting to understand the concepts of programing. Plus, it can be used directly in my line of work as well as side projects that I wanted to try my hand at.
Thank you in advance for your recommendations everyone!2 -
So I get to work on building a client at work for industrial automation. I am building a mini hmi to show customers how our server works. The code uses opcua. The reason I am making a client is because all the opcua hmis on the market are really expensive. There is nothing less than $600. There are hmis for free out there, but none of them say they support opcua. opcua has become a major protocol in the industrial automation industry.
It took me about 2 days to gin together a client that is pretty much abstracted and will be easy to maintain. A lot of that was just learning the opcua library client code.
Now I want to create servers and clients geared toward home automation for fun and profit. I want to take sensor data from arduinos using a simple serial protocol like modbus or other protocols that are supported. Then have an opcua server that collects this data. Then finally have an opcua hmi that I develop talk to these servers. The security model is much better and would be compatible with other vendors clients/servers. I already have a game engine I want to use for the hmi portion. It has tons of widgets for displaying data, graphs, lists, text, etc. It does both 2d and 3d.
This sounds like a project that could really fun, meshes with my work learning, and provides value to people that want to automate their lives.
The other side effect is that the next time I go looking for a simple and cheap hmi that supports opcua, there will be one. -
!rant
Rant from my previous work as a consultant Data Engineer (wish I had known this site back then).
During my stay at the place, we have a big client whose contact with us was an incompetent stressful fellow.
I single-handedly build a humongous automated data pipeline using Airflow. I am very proud of my baby as my first massive project and check it obsessively for every possible flaw, especially when writing down documentation for the poor soul that would take my place.
Luckily for me, everything is working as intended, until of course on my last day of work, shit hits the fan, and everything breaks down.
After a moment of initial panic: it was Thursday morning, we had a Machine Learning model to run over the weekend, predictions to make and reports to write and a very lovely next week deadline, I calm down.
"I won't be dealing with this shit anymore, starting from 18:00 PM and anyway Fear Is The Mind Killer."
Quite sure that it couldn't have been my code, I start looking at various logs when the culprit was clear. The B(ig) S(tupid) C(lient) changed the whole schema of the data he was feeding to us.
I call him: he has no idea of what was done to the data. Hell, at first he doesn't seem to remember what the deal with schema, data, and SQL is (the guy was supposed to be a big shot in the IT department). It turns out he hired one of our competitors to do his side of the collection pipeline. He tries to get mad at me, but everything he throws bounces back to him. I am calm yet ruthless pointing out how every major hiccup had been his fault and that I could quickly reach to his board of directors explaining why their Machine Learning model was late.
Result: he apologizes, extends our deadline, and I get a round of applause from other juniors who would have to deal with me had I failed.
Never am I happier to not work as an underpaid cannon fodder apprentice in a shitty consultant firm.
Luckily for me, everything is working as intended, until of course on my last day of work, shit hits the fan, and everything breaks down.
After a moment of initial panic: it was Thursday morning, we had a Machine Learning model to run over the weekend, predictions to make and reports to write and a very lovely next week deadline, I calm down.
"I won't be dealing with this shit anymore, starting from 18:00 PM and anyway Fear Is The Mind Killer."
Quite sure that it couldn't have been my code, I start looking at various logs when the culprit was clear. The B(ig) S(tupid) C(lient) changed the whole schema of the data he was feeding to us.
I call him: he has no idea of what was done to the data. Hell, at first he doesn't seem to remember what the deal with schema, data, and SQL is (the guy was supposed to be a big shot in the IT department). It turns out he hired one of our competitors to do his side of the collection pipeline. He tries to get mad at me, but everything he throws bounces back to him. I am calm yet ruthless pointing out how every major hiccup had been his fault and that I could quickly reach to his board of directors explaining why their Machine Learning model was late.
Result: he apologizes, extends our deadline, and I get a round of applause from other juniors who would have to deal with me had I failed.
Never am I happier to not work as an underpaid cannon fodder apprentice in a shitty consultant firm. -
Worst experience: Learning how data is stored in segments in a middleware application called PMS on mainframe and how to manipulate that data.
Best Experience: Building a app that lets you pull down any set of segment data from mainframe and figuring out a way to automatically annotate the data so you could just hover over it and you know what the data is exactly. This way I didn't have to constantly refer back to a reference manual to see what a field name is in a segment, or having to go talk to a mainframe developer to go look at their code. Btw, did I mention I made it searchable by field name?? -
As I started learning React, I found the allure of declarative style of programming appealing. I try to avoid maintaining multiple state variables for data that can be derived from the base state itself that's stored in the redux store. It works wonders when I have to change something; as I just need to make changes to one function in the utils folder and that change is implemented across the whole app, rather than change the instances everywhere as was the case when I initially started working on this project after the previous dev left.
But I see myself redefining a lot of computed values everywhere, and if I just try to define them in the root component, I'll end up with a huge list of props being passed to a couple of components. Shifting it to the utils folder helps a bit, but then I find myself defining even the simplest of array filtering methods to the utils folder.
Is this need to define computed values everywhere a trade-off that you need to accept when you write declarative code, or is there a workaround/solution I am missing? As of now, the code-base is much better than how it used to be when they had a literal Java dev work on React with their knowledge of Java patterns being used in a framework that is the polar opposite of OOP, but I still feel like there's room for improvement in this duplication of computed values.2 -
One day I decided I wanted to build robots.
And not kidding the reason I wanted to build them was because I wanted someone interesting to talk to and stil not kidding I even fantasized about a robot girlfriend... Lame I know I think I was a lonely little guy back then, though even after 7 years or so it doesn't feel as though it's that long ago. Maybe because things didn't change that much. Which is worrying but it's not the topic so I will pass on that future-past worries bullcrapper. After learning how robots worked and what made them function so things gradually led up to me being more interested in machine learning applications and software. I learned Arduino at first, I think I still have some messy circuits and old arduinos around. I only finished one robot though and it couldn't even support it's own weight. The servo motors were taking too many amps that heated up the little arduino even with a fan attached. Provably I should have made use of mechanics for robots books and calculated things first. But even though it couldn't walk properly I still felt success and I loved it like my own kid (me taking it apart was questionable but believe me). After that I focused more on writing code than using my hands to make things which was a pain in the ass if I might add.
After learning arduino and making that failed project of mine. I then picked up C++ wrote hello world program usual things a starter would do. It was the language I wrote my first game which I finished and this time it worked. But I never released it which was partly because I didn't want to spend a hundred bucks on a license for the engine and I also knew that it was a shit game. If I were to describe; lines in different colors come from the top you need to hit the lines with the same colored columns to break them. The columns changed their height and location on random. The lines sped up and gap between them decreased. Now that I think about it it wasn't half bad. But the code was written in game maker studio's version of C so I have no way to salvage it.
But I learned a lot of things from that project and that was the goal, so I would call it a win. I don't remember but after sometime I switched to python. And I'm glad I did, it's fun to code in which was the main reason I coded in the first place. Fun.
Life happens and time passes,
Now I'm waiting to enter college exams in a few months after hopefully passing them. My goal is to get into computer engineering which will be extremely challenging because it's the highest point department in the university I'm aiming at. But hey if the challenge is great the reward is greater right ? To be honest I'm still not sure about my career path. Too many choices. So I will just let my own road called <millions of similarly random events that are actually caused by deterministic reactions, to affect you and your surroundings leading up to a future which only the Laplace's demon can forsee> guide me. Wish me luck.1 -
I need some advice to avoid stressing myself out. I'm in a situation where I feel stuck between a rock and a hard place at work, and it feels like there's no one to turn to. This is a long one, because context is needed.
I've been working on a fairly big CMS based website for a few years that's turned into multiple solutions that I'm more or less responsible for. During that time I've been optimizing the code base with proper design patterns, setting up continuous delivery, updating packaging etc. because I care that the next developer can quickly grasp what's going on, should they take over the project in the future. During that time I've been accused of over-engineering, which to an extent is true. It's something I've gotten a lot better at over the years, but I'm only human and error prone, so sometimes that's just how it is.
Anyways, after a few years of working on the project I get a new colleague that's going to help me on my CMS projects. It doesn't take long for me to realize that their code style is a mess. Inconsistent line breaks and naming conventions, really god awful anti-pattern code. There's no attempt to mimic the code style I've been using throughout the project, it's just complete chaos. The code "works", although it's not something I'd call production code. But they're new and learning, so I just sort of deal with it and remain patient, pointing out where they could optimize their code, teaching them basic object oriented design patterns like... just using freaking objects once in a while.
Fast forward a few years until now. They've learned nothing. Every time I read their code it's the same mess it's always been.
Concrete example: a part of the project uses Vue to render some common components in the frontend. Looking through the code, there is currently *no* attempt to include any air between functions, or any part of the code for that matter. Everything gets transpiled and minified so there's absolutely NO REASON to "compress" the code like this. Furthermore, they have often directly manipulated the DOM from the JavaScript code rather than rendering the component based on the model state. Completely rendering the use of Vue pointless.
And this is just the frontend part of the code. The backend is often orders of magnitude worse. They will - COMPLETELY RANDOMLY - sometimes leave in 5-10 lines of whitespace for no discernable reason. It frustrates me to no end. I keep asking them to verify their staged changes before every commit, but nothing changes. They also blatantly copy/paste bits of my code to other components without thinking about what they do. So I'll have this random bit of backend code that injects 3-5 dependencies there's simply no reason for and aren't being used. When I ask why they put them there I simply get a “I don't know, I just did it like you did it”.
I simply cannot trust this person to write production code, and the more I let them take over things, the more the technical debt we accumulate. I have talked to my boss about this, and things have improved, but nowhere near where I need it to be.
On the other side of this are my project manager and my boss. They, of course, both want me to implement solutions with low estimates, and as fast and simply as possible. Which would be fine if I wasn't the only person fighting against this technical debt on my team. Add in the fact that specs are oftentimes VERY implicit, so I'm stuck guessing what we actually need and having to constantly ask if this or that feature should exist.
And then, out of nowhere, I get assigned a another project after some colleague quits, during a time I’m already overbooked. The project is very complex and I'm expected to give estimates on tasks that would take me several hours just to research.
I'm super stressed and have no one I can turn to for help, hence this post. I haven't put the people in this post in the best light, but they're honestly good people that I genuinely like. I just want to write good code, but it's like I have to fight for my right to do it.1 -
- Learned how to use Git properly;
- learning how to use SASS and building the stylesheet of this all by myself;
- Learned how to reuse my code all over the project;
- Made my first design pattern and ruleset to create and maintain a project. -
Not a rant/!rant
Got a new job, already learning a lot and nice and helpful colleagues. 😄 Except I find it really hard to get used to their codebase because it's huge! How long does it take for some of you to get used to the new code base of your new job?3 -
How am I supposed to start learning pentesting / hacking when kali linux is shot down by the devRant community?
Yes, I would rather start with some source that would get me writing code to do it, I just don't know which is it. Maybe sourceforge?5 -
The first code i ever wrote was a case statement in Visual Basic. I didnt really know what I was doing, just looking at the code that was already there and figuring out how to extend it to include more cases. I was about 17 at that point. I didnt properly start learning until I did Java in my first year of University.
-
Okay so there are a lot of things that are left by us students as "this would be taught to us on job, why bother now?" So i have many questions regarding this:
- is it a safe mentality? I mean University is teaching me, say a,b,c and the job is supposed to be like writing full letters, than am i stupid to stick to just a,b,c and not learning how to write letters beforehand?
- what is even "taught" on job? This is especially directed towards people in Big firms. I mean i can always blame that small ugly startup who treated me badly and not gave me any resources, but why do i feel its going to be same at every other company?
I guess no one is gonna teach me for 6 months on how to write classes with java, or make a ml engineer out of me when i don't know jack shit about ml.... That's the task for college, right?
I feel that when these companies say they "teach", you they mean how to follow instructions regarding agile meetings, how to survive office politics and how to learn quickly and produce an output quickly. I don't think that if i don't know how MVI works, then they are gonna teach me that, would they?i guess not unless they already have someone knowledgeable in that topic
- what about the things that are not taught in our colleges and we wanna make a career in it? Like say Android. From what i have experienced , choosing a career in a subject that's not taught you in grad school immediately takes away some kind of shield from you, as you are expected to know everything beforehand. So again, the same questions bfrom above
i did learned something from job life tho, and that too twice. Once it was when i first encountered an app sample for mvvm and once when i found out a very specific case of how video player is being used in a manner that handled a lot of bugs.
Why i didn't knew those approaches when i was not in job? Well, the first was a theoretical model whose practical implementation was difficult to find online that time and the second was a thing that i myself gave a lot of hours, yet failed to understand. However when i was in the company , i was partnered with a senior dev who himself had once spent 30 days with the source code to find a similar solution.
So again , both of above things could have been done by me had i spent more time trying to learn those "professional tools" and/or dwelve deeper into the tech. And i did felt pretty guilty not knowing about those...5 -
Anyone interested to see mine and my wife’s culture & technology crossover performance/arts/music project?
The name is UDAGANuniverse. Udagan in Sakha (northeast Siberia) language toughly translates to ‘she shaman’. I met my wife while she was touring in Europe with a traditional Sakha group (I was touring Celtic trad music that time).
The project is incorporating all our interests, artforms and professional skills under a shamanistic aesthetic. Functional Programming, Live Coding and Machine Learning play a big part in my input and live performance role.
First episode of our newly launched podcast:
https://udaganuniverse.com/news/...
My personal articles — arts based and touching on functional programming + category theory:
https://udaganuniverse.com/music
I’ll be posting new articles more specifically on Coding and ML in performance in the next weeks.
If you’d like to see a little personal backstory (how we came to fuse performance with code/ML) check out this rant here:
https://devrant.com/rants/1279742/...
Hope that you enjoy and please let us know any comments or feedback!3 -
My biggest dev regret is not starting earlier. I started learning how to code only 5 years ago, when I was 19. God, I wish I started earlier.
-
Does any of you have the compulsion to micro-optimize every bit of code that you write? How do you deal with it?
I'm not just talking about algorithmic optimizations, but the real nitty gritty stuff. I'm talking about using bit fiddling to avoid if statements where speculative processors might make mispredictions. Anything that might make a program compile to fewer machine instructions or avoid extra stack frame overhead.
This all started a year ago when I took a systems programming course at my university, and started learning C and C++. But I find myself doing this in the wrong places. Who cares if this trivial program that I wrote runs in 1.2 or 0.6 seconds? My future employers won't care if my code is 10% more efficient when it takes four times as long to write.
It's gotten to the point that I can't bring myself to use languages like Python because I don't know how it's implemented under the hood and can't predict how the different ways I could write a function will affect performance. How do I bring myself to trust that the compilers (or interpreters) and the programmers that wrote them will be sufficiently optimal, and just move on? 😩4 -
Dell Summer Internship Experience
Firstly,to be a part of this process it is important to clear the exam conducted by college and according to me it wasn't something which can't be easily achieved so to prepare of this exam stick to basics of all subjects which have been taught so far till semester majorily data structures,data base,Java,C, operating system were asked.Basics of all following subjects should be clear which also going to help during internship.
I myself prepared for the test from geeksforgeek.I tried to gain as much as basic knowledge of subjects I can.And after selecting from test you have you go through hackathon on that personally I think one should be prepared with latest demanding skills.Mostly all the hackathon topics were in and around Machine Learning,Block chain,Web development,Databases.So typically should be aware of all these technologies and how this can be used to enhance in project.
During hackathon days it is important to be interactive,it is good to clear doubts or explain your idea and how innovative you project is and how different it can be and further keep in mind how your project can be industrial utilized.Try to make your project more in aspect of how industry going to adapt this or how this problem's solution is perfect in every terms for a company.And majorily at last it comes down to how to present your project infront of your panel.
I think keep that session as much as interactive you can,try to answer their queries,and most importantly know your part of the project very well on theoretical as well as on code level. At last you have to go through a HR interview in which firstly you have to be prepare with a nice resume in which you to include all your achievement's,projects and most importantly keep it short and simple and include only those things which you are completely aware of.For interview first try to know and learn about company, it's goals,in what field it is presently working and during interview there is nothing to worry about you just have to talk like you are talking with a normal person,express all your views ,try to speak out.
Confidence is one important thing for this interview.So this was conclusion of my experience from hackathon hiring process from Dell.2 -
As this weeks rant is about how to improve CS education I want to share one new university in Berlin called CODE that does many things quite differently:
From the beginning students are working together in small interdisciplinary teams on projects. Meaning software developers, interaction designers and product managers are all already working together. The projects are developed in collaboration with companies and usually last a couple of weeks to multiple months. The students are supposed to learn more if they are faced with an actually problem instead of learning with frontal teaching (“Frontalunterricht”) in a lecture hall.
The founder himself started programming in his teens but studied business administration because he found that the CS courses had an outdated didactic.
PS: And if you are in Germany and between 15 and 21 years old have a look at the “Code+Design Camps”. They are basically longer Hackathons (4 days) with professional mentoring from programmers, designers, … from the industry. I attended four in total (all over Germany) and they were a lot of fun!!!
What do you all think about this?
Website: https://code.berlin/en/
English Article: https://global.handelsblatt.com/com...
Some Articles in German:
http://faz.net/aktuell/finanzen/...
http://sueddeutsche.de/wirtschaft/...2 -
I really hate how steep the learning curve is for testing. I've been writing the same test for a week for a 150 line directive, and it's driving me fucking nuts. Nothing makes sense. No one in the office to help me. Only 10% of engineers here write any tests. I don't know what to do. Overnight they made it a rule that if you want to move up to the next level for software engineers, 80% of your code needs to have unit test coverage. It's just bullshit.3
-
Anyone ever?
Do that thing where you just obsess over how your code looks. Like "This fookin console app would look epic with boiler plates and some finesse.
Then next thing you know the thing you were trying to learn / do get waysided and you need to shoehorn it into the rest of your day / night?
In fairness I am just learning c# with the intention of following it up with unity for game development. So this might. Be a beginner thing.2 -
Been thinking about game design. Making things testable and modular. I think I have a lot to learn in this area. One idea popped up in my head. How can I design the game so that it can be networked later? One idea was an interface in the logic that gives authority to another set of code (module?). Basically include the abstraction as if networking was there. So if/when I decide the next version of the game or existing version should have online play. I think learning to create client/server would be instructional. Maybe networking could be a dlc or something.5
-
Started learning Python yesterday and with the help of the mighty internet I wrote a script that tells me how many lines of Java code I have written in a project. Just 9 lines of python and it works like a charm. Was so excited that I tried to tell my non Dev friends about it, but they where like "yeah, what ever"... I am always kinda sad that so many people aren't interested in programming, not even a tiny bit :/
But anyways... Python my love, where have you been all my life?2 -
Alright people could do with some help here!
Got a friend who is interested in learning how to code but I can't think of anything to point him in the right direction, he wants to learn it just so he has something to keep his mind active and give him something he can sit and spend time on...
Anyone know of anyone tutorials/articles/anything that could point him in the right direction?2 -
Hiya haters and non haters =) what has been going on while i was away?! that last rant about scripting was cringe all i should have said was andlua.
Hi everyone im back and now on return statements on JS on code cademy easy!
i know how to make classes, and more
i also started learning Ruby, python, and thinking about java1 -
Any SUPER AWESOME patient... JS PRO that wants to help me with a few problems it would be appreciated..
Okay so I'm having trouble with JavaScript and this can apply to other languages but for now focus on JS. so I'm learning how to manipulate the DOM and I don't really know how to start I picked out a tutorial but I'm afraid I wont learn a lot from it. here are my concerns and yes they don't all have to do with the DOM
> I don't know how to learn without mimicking what the person is doing and when I try something that's related I cant use the related information and techniques because I either don't remember, dont want to do the literal same thing for something slightly different or dont know how and somethings not working even though it should be.
> I do it one way and when people offer to help its just me getting responses of how it could be done completely different and I dont understand why either way should be used
> Why should I have to generate a webpage or div if I can just use HTML5
>whats the difference between JSON and Arrays???????????
>I am not good with arrays, lists, dictionaries, (I'm stretching to python with lists and dictionaries)
>I recently tried the basic quiz project and it was more complicated and fun than I was giving credit for but I want to do it a different way to show myself I learned but I cant because I dont understand how the person managed to loop through the entire array printing the individual questions and answers to the div. like I understand the parts that use the html tags in the code but I dont know how when or what to use it all
>any good javascript/dom resources?
At this point Im just stressing because all I want is a basic skillset with JS but I dont feel like Im learning anything and I dont know how to apply my knowledge or improve upon the programs ive been learning from or trying to make. and arrays have been tripping me up to especially since I have no clue what the difference is between them and JSON and why I should use one over the other and dont get me started how shit I am with manipulating them. FUCK IM STUPID10 -
Damn lots of you knew this shit before turning of age.
I didn't code a single line until I went to college.
I tried to, but it was just too fucking complicated and I didn't understand a thing. Tried to grasp how to use some tools like Unity or an Adventure Maker of sorts and something called Flix for Flash games. Didn't understand shit.
I decided to study systems engineering due to a career aptitude test I took hoping somehow that way I could learn sthg.
First thing I was taught was bash.
When I realised I already knew enough to code a whole text adventure from scratch with such a simple language I felt really hyped.
Always loved text and graphic adventures.
Afterwards I was taught the Z80 assembly language and how CPU registers worked and it blew my fucking mind.
That was the first half-year.
Then I was taught C. And boy was it hard. Didn't get how memory was being handled until the very end.
I happened to be one of the few passing a stupidly complicated semifinal test with triple indirection pointers.
That felt goood.
Learning other languages afterwards was a piece of cake. C#, Java, X86 assembly, C++...
It was a hard door to open. Fucking heavy. But now nothing seems black magic anymore and boy isn't that something to be proud of! :D -
Its been a month since i opened Android studio, and am feeling so weird doing the things now i do.
I had been learning and developing apps for almost an year( not exactly any big apps, but kinda in a learning phase, making prototypes, learning about the internal workings, reading blogs/articles,etc ) . Although i did got a few internships and earned some money, i didn't felt any good calling myself an Android developer with insufficient skills.
Frustrated, i just thought of taking a break, as my college was also giving a pressure of its own. Meanwhile i got a python data analytics scholarship from some 1 day competition at clg., So last September and October have pretty much gone into that. Python being an old friend seems like a pretty fun thing to do, and am totally into it (for now)
But java seems to let go of my hands even faster. Even though i used to waste much of my time reading how stuff works or checking out ui/animations , i did coded some stuff and made cool prototypes. i had a feeling that one day this all learning will be over and i will be able to code apps with ease... But now, it feels am going back to stage Zero. I feel as if i can't even write a hello world app.
I hope my poor little codebase is documented well enough to accept me back.
Don't leave me, java . We are on a break :'''( -
Learning Java in online course...
Have to do an assignment..
Thinking hard and stressing my mind to find the solution for past two days. Today, don't know how it happened. I just coded and got solution...
The moment my code passed the tests, All of my pain vanished.
I'm happy that I chose programming field 😇... Still lot to learn !!!!1 -
I don't want to answer my manager. Each SCRUM, each SPRINT retrospective is becoming so long. Everyone in my team works on different projects, it's no use listening to all that and wait for your turn and on top of that your manager bombards you with the questions that you really know the answers to but he always questions again like give me estimates, like if I haven't ever worked on something how am I supposed to give you the estimates.
My english is just lowering it's standard day by day, I try to think smarter words but no it is sucking bad.
I am not frustrated as I am learning how to see all this as a part of my learning. I am a good developer I know but I haven't worked on code for like 3 months, everything needs to be investigated, contacting the other teams etc. I am just thinking to close on the projects that I have right now and leave.
In 1:1s my manager said something else but in team meeting asked me to do something else.
I haven't coded in more than 2 months even before that it was at least 3 months gap. I want to take leave for a week and work on the code. But fuck it, open source is not allowed in my company. WTH WTH WTH!!!
I switched the company for growth and I definitely did not have any technical growth.1 -
I feel compelled to figure out how to use software in a gaming setting to teach skills like CS and Math. But do it in a way that is fun and not feeling like a "math game".
I want to spend more time learning about algorithms, architectures, design approaches, etc. Writing such a game would force me to understand what I present in a very intimate way.
I can see a way to create algos in game using very visual ways. Then allowing someone to make superstructures combining those algos to solve tasks.
I was inspired by how some algos require data to be sorted a certain way before starting. As the algo as a side effect resorts the data to know when it has completed. I realized if an algo is generic enough it can be combined just like functions or objects.
I also want to learn math better, especially in conjunction with code. So making a platform for learning these would be a lot of fun. I would definitely want both visual and textual interfaces to the code. I have to imagine a real programmer being frustrated with a visual interface unless it was really compelling.
I find it interesting that a lot of algos are represented visually when trying to show how it works. I realize some probably cannot be visualized so easy though.
I also want to use software like this to teach someone to think more deliberately and help people be more disciplined in their thinking. I know I could use this.
I have a secret goal of being able to use such software to help someone become a math/programming wizard. I don't know if this is achievable, but having exercises that help solidify root concepts in a fun way would be really useful IMO. -
So when i was playing saxophone, I realized that music and coding are just the same. When you get a new score to play you need to start over by learning how to play it. When you code and start a new project you need to start from zero. When you play the score over and over you learn from your mistakes. When you code you debug your faults when there is something wrong in your code. At the exam you need to make no faults when you play music. When you’re at the deadline. There shouldn't be no faults in your code
-
Cross post from /r/cscareerquestions
Hey guys how are you all doing!?
I got into university this September (Computer Engineering & Informatics).
Although I've been programming java since I was 14 (github.com/zarkopafilis), discussions with a friend who is a dot net guy and has been working full-time C# for 2 years now got me thinking.
Alright, Java's good. I've learned to love and hate the language. I also like Spring Boot and whole this ecosystem of stuff including Scala and the other Java based languages. Currently I'm in the proccess of completing some personal project of mine.
Alright, here's the big question: Assuming I am going to graduate (and start working) in 5-7-8 years (Masters, PhD - who knows), which language would you suggest I stick with and start learning? - for backend programming of course.
Don't tell me JavaScript. Although I don't like it I've digested the fact that I'll have to learn some of it for sure.
Currently that's what I'm thinking: Invest some more time learning how the JVM works (and probably keep improving my code quality). Also learn some more stuff regarding Spring Boot (and/or Web Services in general). Then advance onto Scala till couple of years pass. In that time I shall keep improving my SQL skills.
On the other hand I may start learning C# along with .NETcore .
Sidenote: Personally I prefer statically typed languages, that's why I dislike stuff like js and python although I occasionally find myself fiddling with small projects like some laser tracker written with python + opencv.
Sorry if this reads like a big disorganized dump of thoughts. Thanks in advance! :)3 -
Hey Guys,
I want to build a voice assistance like Ok Google from scratch using ML.
Actually, I'm unable to figure out How can I achieve this 😅.
I want App like When I give command like Open DevRant then the App should work like Google App.
Ok all Good.
But I want to know If I write a code to open any App like Open APP_NAME
then It is coded by me not my app is learning this.
Sorry If I'm unable to Explain this to you.
I want to know Should I have to code all procedures for doing task like open any app, calling any number, etc myself or is there any way that my App can learn on its on 😔.
If somebody understand this please suggest me what is best for this.5 -
Learning ES6 arrow functions from Kyle Simpson's workshop video. Amazing how something that was designed to be a syntactic sugar turned out to be a code readability nightmare :(1
-
just finished a prototype for my android app, when i all of the sudden find out about flutter and dart, and i have the fucking urge to rework EVERYTHING just because i fucking hate android studio and java for it verbosity
android studio is good in basically helping you limp along with java, but when i saw how smooth dart code works, i just started getting frustrated at every little complication the android API makes at doing android things in a java way
fuck that, i'm learning dart now -
Need advice:
So I’m 20 years old. Got a decent job as software engineer with a really good pay and really want to break into machine learning.
Mastered NodeJS (my stack has always had node for the past 5-6 years) and I’m finding it difficult to switch to python for machine learning since things are so engraved in my head in javascript.
Aside from the syntax when I’m watching tutorials or reading books, I see data scientists and mathematicians make design mistakes in their code and it hurts my eyes and triggers my ocd.
I need tips on how to put my mindset in a moldable state so I can judge less and learn more and absorb data. Like you know that philosophy that when u get old your brain can’t learn things as fast anymore? I feel like that’s already happening to me rn at the age of 20.5 -
I wanted to design an operating system when I was younger after giving up on the idea of being a video game designer. While researching that I learned I need to know how to program. I tried too learn solo with websites like Codecademy. I completed several tracks on the site. After getting the basics down, I took two Java programming classes. After that opportunities to write code for free kept popping up and I kept saying "yes". Fast forward a few years and I'm working as a programmer. I'm by no means good at this but I'm learning and I love my job.
I also kept trying to solve coding challenges on websites like codewars over the years. -
Sometimes i feel being bad and wrong is better than being good. At least people will not demean you.
Case A : the bad guy
F : Hey man how are you doing?
Me : nothing man just smoking weed and being high all day
F : ugh . Ok i have to go
Case B : the good giy
F :hey man how are you doing?
Me : Awesome man! I have been learning and making apps for last 2 years, recently released this very nice ui notes app with unique notification capability. Took me a month but am so proud of it.
F1 : just the notes app? I made a tiktok clone in 1 month after learning android
Me : :'(
F2 : notes app? I made this awesome *small butunique app idea* app that got 50k installs
Me: :''(
F3 : 2 years? In 2 years i have learned so much that i can now make this puny notes app in ios Android website all synced up in 5 different frameworks with 10 additional features.
Me- ;''(
F4 : cool app. So now can you make this *random idea* app for me? Here are the designs and resources You seem experienced,How long would it take you?
Me : umm i guess so.. idea seems plausible, but i haven't worked on some things that are needed to complete it. So... x days?
F4 : X DAYS?!! wtf man ? Don't you know how to code? Does this looks like a task of x days? You even an engineer bro? Make it in 3 days
Me :
(Ps : replace F with friends , managers , ... Everyone :/)2 -
Started out with C++ when I was 17. Being passionate about programming, loved to learn and explore more of the coding and programming world.
Reached out to the books for different languages such as Java, Python, PHP, etc.
Enjoyed learning anything that I came across.
My initial stages as a programmer, relied on books and video tutorials.
Now, relying upon documentation and other people's source code examples.
You know you can call yourself a developer, when you know how to use a particular language to develop applications that solve real world problems and perform tasks.
Now whenever I start out on a new language, I begin straight away with frameworks, hoping that I can grasp the syntax in parallel. -
Working as a Dev for a while now, I tell new people not to bother with it. There is never any job satisfaction as people in charge never understand the basics.
Instead of learning to write efficient code, figure out how to solve real business problems, work towards a maintainable flexible product to quickly deliver value on changing requirements, write automated tests to improve quality, maintainability and prevent live issues - basically do anything a good Dev strives for - you will just constantly end up working for people with no interest beyond the next couple days, on a shit code base that no one can understand, with people that don't want to learn anything about software design and just check boxes off.
Apart from pay this must be the worst career possible in a technical field.4 -
Kevin and I work together on a deep learning project. We have to present our initial literature survey to the review panel, in preparation for that after preparing the presentation (ppt) , we needed to prepare for presentation i.e cut hair shave beard (that's the preparation most developers toil at) and to top that we need to wear formal clotihing ! (yeah! you heard that right ironed formal pan formal cloth).
Kevin went to the barber shop for a hair cut and planned it later. The barber was an unemployed mechanical engineer ( a prerequisite for the story ahead) he casually started asking kevin some personal questions which included questions about his stream in engineering , project etc etc.
When he got to know about deep learning project we were working on.
He with so much hypocrisy, prejudice started belittling our project and also all developer about how they just copy-past code from github, etc etc. Also about how he also' can build website and stated that developer make money by just copy-paste job and about how majority of developers are just douchbag and told my friend to regret on not taking other vocation.
I am gonna go to his shop tommorow let me know, how to respond to that jerk.
I am gonna make his ears bleed, thats for sure.4 -
In the way of learning java if you learn new concepts but not able to apply to you code how you deal with this type of new concepts7
-
I know a lot of people aren't fans of Microsoft here, but does anyone have some extended experience with using powershell?
I've been using it for creating a script that handles quite a large set of tasks for setting up and configuring some application servers and so far I have been really digging the language. Being able to invoke the script against remote hosts in parallel like ansible has been a really cool learning experience.
Admittedly it's verbose as fuck, so getting the same thing done in something like python/perl might be like half the lines of code. And I know that some of the commands illicit a "WTF?" every now and again. But I think one of the powershell tutorials I watched early on in attempting this helped make using powershell not suck ass.
Every command is basically 'verb-noun'. You don't know what the command or switches are:
> get-help "command" -showwindow
It will give you a list of options if you didn't select the exact command with get-help.
It feels* amazingly buttoned up as a scripting language and it's really cool to be able to take advantage of lower level stuff, like you can run alternative shells (we have cygwin installed on some of our servers), you can run C# code, you have access to interfacing with .NET api's. I haven't messed with anything azure yet, but being able to interface with products and services like SQL/Exchange/O365/azure/servers/desktops from the same language seems pretty cool.
Admittedly, the learning curve feels terrible though. I felt like a dunce for the first couple weeks, couldn't navigate the language at all, and was always in the docs trying to figure stuff out. I think I just needed to understand how the people developing powershell intended for it to be used. Once I was able to put two-and-two together about the verb-noun structure and how to find information/examples about the cmdlets it's been quite easy to work with it.
If anyone else has any extended experience with it, please share your thoughts/opinions. Curious to see if your experiences are/were similar to mine.
If you don't have Powershell experience, please feel free to share your opinions of Micro$haft and me for using Micro$haft products too! It's all good 😎9 -