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 - "learn and implement"
-
So a friend of Mine asked me to check their Mail server because some emails got lost. Or had a funny signature.
Mails were sent from outlook so ok let's do this.
I go create a dummy account, and send/receive a few emails. All were coming in except one and some had a link appended. The link was randomly generated and was always some kind of referral.
Ok this this let's check the Mail Server.
Nothing.
Let's check the mail header. Nothing.
Face -> wall
Fml I want to cry.
Now I want to search for a pattern and write a script which sends a bunch of mails on my laptop.
Fuck this : no WLAN and no LAN Ports available. Fine let's hotspot the phone and send a few fucking mails.
Guess what? Fucking cockmagic, no funny mails appear!
At that moment I went out and was like chainsmoking 5 cigarettes.
BAM!
It hit me! A feeling like a unicorn vomiting rainbows all over my face.
I go check their firewall. Shit redirected all email ports from within the network to another server.
Yay nobody got credentials because nobody new it existed. Damn boy.
Hook on to the hostmachine power down the vm, start and hack yourself a root account before shit boots. Luckily I just forgot the credentials to a testvm some time ago so I know that shit. Lesson learned: fucking learn from your mistakes, might be useful sometimes!
Ok fucker what in the world are you doing.
Do some terminal magic and see that it listens on the email ports.
Holy cockriders of the galaxy.
Turns out their former it guy made a script which caught all mails from the server and injected all kind of bullshit and then sent them to real Webserver. And the reason why some mails weren't received was said guy was too dumb to implement Unicode and some mails just broke his script.
That fucker even implented an API to pull all those bullshit refs.
I know your name "Matthias" and I know where you live and what you've done... And to fuck you back for that misery I took your accounts and since you used the same fucking password for everything I took your mail, Facebook and steam account too.
Git gut shithead! You better get a lawyer15 -
/*
It's a pretty long rant. Hope you didn't get bored :P
*/
So I have this friend of mine who has learnt Python at good level (that's what he says) and is with me in all classes in college. I have worked with C, C++, C# and Java only and hated Python when it was taught (wk44).
So the following happened in the last 2 weeks:
Once he wrote a Python function in terminal just returning a hard coded string (lame right) and will show me how cool is it and that it is sooo much easier.
Whenever we do a mini project together he will force that we use Python. Even in Image processing when everyone is ready to work on Matlab, he insists that Python would be a better option.
We asked that this XYZ is very easy to implement on Matlab.
We then had to listen about the large and great community of Python and that it has Libraries for everything and that it is the greatest programming language ever.
One day he saw my C# project for DFA and NFA simulation which was the greatest project I have "completed" myself, and went like "Hmph, if I was you, I would use python and make a more "professional" code" (then went on arguing as always)
This happened today in Networking lab-
(Sockets was taught and we are expected to learn its programming aspects)
All students: Open linuxhowtos.org and start reading on socket programming
He : Opens some websites and downloads books on Networking with Python or someting
Now while I am reading the documentation of sockets and bind, he opens spider IDE, copy-paste the code in the book and start bugging ME that he is getting all these errors like literally showing me those errors and whining about all those problems.
Me: We are supposed to learn this in C. Here take a look at this link.
HE: No I'll use Python cuz it is better than your C. It has libraries for everything and is much easier.
Me: Alright whatever I am fed up, do whatever you want11 -
Anyone looking for something interesting to do???
Step 1) understand how basic circuitry works on a bread board nothing too fancy. ( Implement NAND, AND, ADDER, SUBTRACTOR)
Step 2) learn about microprocessors and how OS works
Step 3) learn assembly
Step 4)write a basic assembler and understand how loaders and linkers works !
Step 5) write a kernel with very basic features like memory management and process management and some drivers for IO
Step 5) write an emulator for some simple systems .! ex chip-8.
Step 6) read about compiler theory and automata
Step 7) write a basic Python interpreter that compiles (not interpreter) to native assembly.
Step 8) implement TCP stack .
Step 9) learn as much as u can about complexity measurement ), data structures and algorithms using C or C++ it's very important ( familiarity with pointers and thus computer memory )
Step 10) learn any high level language of choice like Python or Ruby.
Step 11) stop debating over tabs vs spaces , emacs vs vim , angular vs vue, php vs Python , OOps vs procedular vs functional ( just know about all of them and when to use but don't fucking debate over which one is superior )..
Step 12) live happily and be healthy.30 -
My five-year-old daughter asked me to program her Android tablet today.
Daughter: Daddy, can you make my tablet do something?
Me: What do you want to make it do?
Daughter: I want it to get games for me. I want it to pick games I like and get the different games so I can play them after I get home from school.
My daughter asked me to implement:
1. At the least, a predictive algorithm to choose new games for her based on her likes and dislikes.
2. At the most, an adaptive artificial intelligence that will learn what games she likes to play.
Current specifications are unclear. Need revision.13 -
Rashly say to a web developer colleague that you'd quite like to learn to code. Feel too awkward to decline the subsequent invitation. Meet for coffee, discuss basics. Understand nothing. Go home and Google extensively. Start trying code out at home. Cry. Swear. Make a thing that does a thing. Try to make another thing. Fail. Give up. Try again. Start an online tutorial. Work through said online tutorial. Start contributing on Github. Discuss Laravel. Play with Laravel. Set out your own Laravel project. Get engaged to the colleague who said they'd teach you. Get sent a technical test. Stare at the test blankly for days on end. Have an idea. Try to implement the idea. Cry some more, swear some more. Enjoy it. Get hooked. Hate it. Enjoy it. Finish it. Stare at the screen in amazement and wonder what has gone wrong because you are getting the result you were expecting. Rinse, repeat.5
-
It's maddening how few people working with the internet don't know anything about the protocols that make it work. Web work, especially, I spend far too much time explaining how status codes, methods, content-types etc work, how they're used and basic fundamental shit about how to do the job of someone building internet applications and consumable services.
The following has played out at more than one company:
App: "Hey api, I need some data"
API: "200 (plain text response message, content-type application/json, 'internal server error')"
App: *blows the fuck up
*msg service team*
Me: "Getting a 200 with a plaintext response containing an internal server exception"
Team: "Yeah, what's the problem?"
Me: "...200 means success, the message suggests 500. Either way, it should be one of the error codes. We use the status code to determine how the application processes the request. What do the logs say?"
Team: "Log says that the user wasn't signed in. Can you not read the response message and make a decision?"
Me: "That status for that is 401. And no, that would require us to know every message you have verbatim, in this case, it doesn't even deserialize and causes an exception because it's not actually json."
Team: "Why 401?"
Me: "It's the code for unauthorized. It tells us to redirect the user to the sign in experience"
Team: "We can't authorize until the user signs in"
Me: *angermatopoeia* "Just, trust me. If a user isn't logged in, return 401, if they don't have permissions you send 403"
Team: *googles SO* "Internet says we can use 500"
Me: "That's server error, it says something blew up with an unhandled exception on your end. You've already established it was an auth issue in the logs."
Team: "But there's an error, why doesn't that work?"
Me: "It's generic. It's like me messaging you and saying, "your service is broken". It doesn't give us any insight into what went wrong or *how* we should attempt to troubleshoot the error or where it occurred. You already know what's wrong, so just tell me with the status code."
Team: "But it's ok, right, 500? It's an error?"
Me: "It puts all the troubleshooting responsibility on your consumer to investigate the error at every level. A precise error code could potentially prevent us from bothering you at all."
Team: "How so?"
Me: "Send 401, we know that it's a login issue, 403, something is wrong with the request, 404 we're hitting an endpoint that doesn't exist, 503 we know that the service can't be reached for some reason, 504 means the service exists, but timed out at the gateway or service. In the worst case we're able to triage who needs to be involved to solve the issue, make sense?"
Team: "Oh, sounds cool, so how do we do that?"
Me: "That's down to your technology, your team will need to implement it. Most frameworks handle it out of the box for many cases."
Team: "Ah, ok. We'll send a 500, that sound easiest"
Me: *..l.. -__- ..l..* "Ok, let's get into the other 5 problems with this situation..."
Moral of the story: If this is you: learn the protocol you're utilizing, provide metadata, and stop treating your customers like shit.22 -
I had to open the desktop app to write this because I could never write a rant this long on the app.
This will be a well-informed rebuttal to the "arrays start at 1 in Lua" complaint. If you have ever said or thought that, I guarantee you will learn a lot from this rant and probably enjoy it quite a bit as well.
Just a tiny bit of background information on me: I have a very intimate understanding of Lua and its c API. I have used this language for years and love it dearly.
[START RANT]
"arrays start at 1 in Lua" is factually incorrect because Lua does not have arrays. From their documentation, section 11.1 ("Arrays"), "We implement arrays in Lua simply by indexing tables with integers."
From chapter 2 of the Lua docs, we know there are only 8 types of data in Lua: nil, boolean, number, string, userdata, function, thread, and table
The only unfamiliar thing here might be userdata. "A userdatum offers a raw memory area with no predefined operations in Lua" (section 26.1). Essentially, it's for the API to interact with Lua scripts. The point is, this isn't a fancy term for array.
The misinformation comes from the table type. Let's first explore, at a low level, what an array is. An array, in programming, is a collection of data items all in a line in memory (The OS may not actually put them in a line, but they act as if they are). In most syntaxes, you access an array element similar to:
array[index]
Let's look at c, so we have some solid reference. "array" would be the name of the array, but what it really does is keep track of the starting location in memory of the array. Memory in computers acts like a number. In a very basic sense, the first sector of your RAM is memory location (referred to as an address) 0. "array" would be, for example, address 543745. This is where your data starts. Arrays can only be made up of one type, this is so that each element in that array is EXACTLY the same size. So, this is how indexing an array works. If you know where your array starts, and you know how large each element is, you can find the 6th element by starting at the start of they array and adding 6 times the size of the data in that array.
Tables are incredibly different. The elements of a table are NOT in a line in memory; they're all over the place depending on when you created them (and a lot of other things). Therefore, an array-style index is useless, because you cannot apply the above formula. In the case of a table, you need to perform a lookup: search through all of the elements in the table to find the right one. In Lua, you can do:
a = {1, 5, 9};
a["hello_world"] = "whatever";
a is a table with the length of 4 (the 4th element is "hello_world" with value "whatever"), but a[4] is nil because even though there are 4 items in the table, it looks for something "named" 4, not the 4th element of the table.
This is the difference between indexing and lookups. But you may say,
"Algo! If I do this:
a = {"first", "second", "third"};
print(a[1]);
...then "first" appears in my console!"
Yes, that's correct, in terms of computer science. Lua, because it is a nice language, makes keys in tables optional by automatically giving them an integer value key. This starts at 1. Why? Lets look at that formula for arrays again:
Given array "arr", size of data type "sz", and index "i", find the desired element ("el"):
el = arr + (sz * i)
This NEEDS to start at 0 and not 1 because otherwise, "sz" would always be added to the start address of the array and the first element would ALWAYS be skipped. But in tables, this is not the case, because tables do not have a defined data type size, and this formula is never used. This is why actual arrays are incredibly performant no matter the size, and the larger a table gets, the slower it is.
That felt good to get off my chest. Yes, Lua could start the auto-key at 0, but that might confuse people into thinking tables are arrays... well, I guess there's no avoiding that either way.13 -
A CMS raping WordPress so hard up the ass till there is no tomorrow. I hate that bastardized piece of fuck. “Hey I want you to fix my page and its wordpress. I pay 20 bucks.“ Well fuck you too sir. Wordpress is no cms you wanna be coders. Get back to your fucking photoshop and design something original! Every fucking wp page looks the same. Every “nice feature“ is some kind of monkeypatched workarround. No problem i set preview pictures for every post just to enable some weird slider to function.
I also love those buttfucked files with just a “require foo“ which also just requires “bar“. Drop that fuck. Implement autoloading. Nobody uses php4 anymore step into the future. “easy to learn“ fuck me and fuck you untill you vomit jizz! Clusterfucked spaghetticode thats easy, easy to put another rotten load of clusterfuck on top. Also those security features. I put an empty index.php to prevent directory traversal. N I C E! Stop using wordpress as CMS, its a blog engine. Nothing great has every been written on top of wordpress and never will. I dare you to deny everything related to it and if you are one of those designer guyd, you can gargle my jizz you fucknut!
Starting 2017 i will start a counter and rape every 10th Wordpress which gets abused as cms i encounter into oblivion on their 0,99$ webhosting shit.
Fuck this I'm so mad about that crap17 -
I was offered to work for a startup in August last year. It required building an online platform with video calling capabilities.
I told them it would be on learn and implement basis as I didn't know a lot of the web tech. Learnt all of it and kept implementing side by side.
I was promised a share in the company at formation, but wasn't given the same at the time of formation because of some issues in documents.
Yes, I did delay at times on the delivery date of features on the product. It was my first web app, with no prior experience. I did the entire stack myself from handling servers, domains to the entire front end. All of it was done alone by me.
Later, I also did install a proxy server to expand the platform to a forum on a new server.
And yesterday after a month of no communication from their side, I was told they are scraping the old site for a new one. As I had all the credentials of the servers except the domain registration control, they transferred the domain to a new registrar and pointed it to a new server. I have a last meeting with them. I have decided to never work with them and I know they aren't going to provide me my share as promised.
I'm still in the 3rd year of my college here in India. I flunked two subjects last semester, for the first time in my life. And for 8 months of work, this is the end result of it by being scammed. I love fitness, but my love for this is more and so I did leave all fitness activities for the time. All that work day and night got me nothing of what I expected.
Though, they don't have any of my code or credentials to the server or their user base, they got the new website up very fast.
I had no contract with them. Just did work on the basis of trust. A lesson learnt for sure.
Although, I did learn to create websites completely all alone and I can do that for anyone. I'm happy that I have those skills now.
Since, they are still in the start up phase and they don't have a lot of clients, I'm planning to partner with a trusted person and release my code with a different design and branding. The same idea basically. How does that sound to you guys?
I learned that:
. No matter what happens, never ignore your health for anybody or any reason.
. Never trust in business without a solid security.
. Web is fun.
. Self-learning is the best form of learning.
. Take business as business, don't let anyone cheat you.19 -
FUCK WORDPRESS
FUCKING FUCK THIS GODFORSAKEN CMS
FUCK THE GUY WHO USED PLUGINS WHO BREAK WHEN I TRY TO UPGRADE FROM PHP 5 TO PHP 7
FUCK THE THEME BUILDER WHICH WON'T WORK UNLESS I SWITCH TO PHP 7
FUCK THIS ENTIRE WEBSITE WHICH DEPENDS ON A PHP VERSION THAT HAS REACHED END OF LIFE ONE FUCKING YEAR AGO
FUCK THE OLD PEOPLE THAT ADMINISTER IT, AND DON'T WANT TO LEARN HOW TO USE NEW PLUGINS AND KEEP USING THE OLD, BROKEN AND UN-MAINTAINABLE ONES
special mention: fuck this one fucking plugin who claims to implement paypal when it doesn't actually work, and the 2 fucking thousand of JQuery lines I have to go through to fix it11 -
My anxiety is kicking in again.
I want to build something meaningful outside of work but my mind is blank, I have no ideas to implement, and whenever one pops up in my head, I DDG it, I find that there's someone who already built something similar and I lose all interest.
I want to code, but I'm tired of solving fictional problems.
I miss being excited to learn a new tech, since I know I would ditch it if I can't find anything to build with it.
This is causing me to lose all motivation to code and learn, I really hope this is just a phase 。゚・(>﹏<)・゚。17 -
This story starts over two years ago... I think I'm doomed to repeat myself till the end of time...
Feb 2014
[I'm thrust into the world of Microsoft Exchange and get to learn PowerShell]
Me: I've been looking at email growth and at this rate you're gonna run out of disk space by August 2014. You really must put in quotas and provide some form of single-instance archiving.
Management: When we upgrade to the next version we'll allocate more disk, just balance the databases so that they don't overload in the meantime.
[I write custom scripts to estimate mailbox size patterns and move mailboxes around to avoid uneven growth]
Nov 2014
Me: We really need to start migration to avoid storage issues. Will the new version have Quotas and have we sorted out our retention issues?
Management: We can't implement quotas, it's too political and the vendor we had is on the nose right now so we can't make a decision about archiving. You can start the migration now though, right?
Me: Of course.
May 2015
Me: At this rate, you're going to run out of space again by January 2016.
Management: That's alright, we should be on track to upgrade to the next version by November so that won't be an issue 'cos we'll just give it more disk then.
[As time passes, I improve the custom script I use to keep everything balanced]
Nov 2015
Me: We will run out of space around Christmas if nothing is done.
Management: How much space do you need?
Me: The question is not how much space... it's when do you want the existing storage to last?
Management: October 2016... we'll have the new build by July and start migration soon after.
Me: In that case, you need this many hundreds of TB
Storage: It's a stretch but yes, we can accommodate that.
[I don't trust their estimate so I tell them it will last till November with the added storage but it will actually last till February... I don't want to have this come up during Xmas again. Meanwhile my script is made even more self-sufficient and I'm proud of the balance I can achieve across databases.]
Oct 2016 (last week)
Me: I note there is no build and the migration is unlikely since it is already October. Please be advised that we will run out of space by February 2017.
Management: How much space do you need?
Me: Like last time, how long do you want it to last?
Management: We should have a build by July 2017... so, August 2017!
Me: OK, in that case we need hundreds more TB.
Storage: This is the last time. There's no more storage after August... you already take more than a PB.
Management: It's OK, the build will be here by July 2017 and we should have the political issues sorted.
Sigh... No doubt I'll be having this conversation again in July next year.
On the up-shot, I've decided to rewrite my script to make it even more efficient because I've learnt a lot since the script's inception over two years ago... it is soooo close to being fully automated and one of these days I will see the database growth graphs produce a single perfect line showing a balance in both size and growth. I live for that Nirvana.6 -
2 years into polytechnic I got my 1st big project as a subcontractor doing Symbian. No need to tell the company I presume.
Anyways, I was brought into the project just couple weeks before holiday season started. My Symbian programming experience was just the basics from school. 1st day I was crapping my pants out of anxiety. I pretty much didn't understand anything what my project manager or teammates were telling, so I just wrote EVERYTHING down on paper and recorded all the meetings to my laptop.
My job was to implement a very big end to end SDK feature. Basically from API through Symbian OS through HAL to other OS and into its subsystem. Nice job for a beginner :/
As the holidays were starting we had just drafted out the specification (I don't know how, because I didn't understand much of what was going on) and I got a clear mission from team lead. Make a working prototype of the feature during the time everybody else was on vacation.
"No problemos, I can do it" I BS'd myself and the team lead.
First 2 weeks I just read documentation, my notes and internal coding tutorials over and over again. I produced maybe couple of lines of usable code. I stayed at the office as late as I dared without seeming to obvious that I had no clue what I was doing. After the two weeks of staying late and seeing nightmares every night I had a sudden heureka moment. Code that I was reading started to make sense. Okay, still 2 weeks more until my teammates come back.
Next 2 weeks were furious coding and I got better every day. I even had time to refactor some of my earlier code so that quality was consistent.
Soooo, holidays are over and my team leader and collagues are very interested with my progress. "You did very well. Much better than expected. Prototype is working with main use case implemeted. You must have quite high competence to do this so well..."
"Well...I did have to refactor some stuff, so not 10/10"
I didn't say a word of my super late nights, anxiety and total n00biness.
Pretty much finished "like a boss". After that I was on the managers wanted list and they called me to ask if I had the time work on their projects.
Fake it, crap your pants, eat your crap and turn into diamonds and then you make it.
PS. After Symbian normal C++ and almost any other language has been a breeze to learn.2 -
WWDC was not about developers this year. It was a conference call with shareholders and investors. No bold moves, just several consecutive "this product will no longer suck" and "look at what you can do now, big companies" announcements.
watchOS will work now (it's too slow ATM). tvOS will just be less cumbersome. macOS still lagging behind (I mean, I already have great third party apps that clean my hard drive, but thank you for solving a problem I didn't need fixing). iOS 10 is simply about messages (it's not going to make me ditch Telegram, because it doesn't have an Android client, regardless of how large you make emoticons appear on screen). Apple Music will still suck, especially if you have more than one Apple ID. And Apple Maps will continue to be useless outside of the US.
Where did the bold moves go? Where's the "we're breaking up iTunes into several distinct apps that serve their purposes really well"? (Guess iTunes is too valuable a trademark...) Where is the "we will end the WKView vs UIView vs NSView nonsense"? (You know, OOP is about creating classes, which are abstractions and whose instances deal with the particularities of their environment; a View is a View, regardless of where they live; an instance of a View should care about being on a watch or on a phone, not the developer.) Where is the "we love indie developers and will help you"? They showed off a lot of integration with well established apps, that don't really need to stand out any more. They showed that video of "normal people" who have developed apps, but no one knows about them! And then they changed the AppStore so you can pay to advertise your app, but who has the means to do that? Indie devs are surely on a tight budget, so who's that helping again?
For me, this WWDC was sugar coated with a "we love you developers" BS, but was a business statement to large companies ("see what you can do now Uber, Lyft, WeChat, WhatsApp, Doordash, all the P2P payment apps, ESPN, WSJ and so on?"). It's already a known fact that the bulk of the AppStore revenue goes to the top 1% apps. And what's the point of having tvOS be open to developers if it is very unlikely I'll ever develop anything for it unless I work at CBS?
It's great that they want to make it easier for kids to learn Swift. But there's very little point in that, if those kids' apps aren't going to be used and are simply going to make the "we have 2 million apps on the AppStore" announcement look shinier for shareholders. Without a strong indie community, the Swift Playgrounds app for the iPad is just manufacturing workers for large corporations.
And without a strong indie community, things get tougher for indie clients as well. Who will have the money (and therefore the time) to implement all those integrations in order to even dream about competing with heavily funded apps?
Yeah... So thanks, Apple, but no thanks.16 -
Manager: "We can't have new releases breaking older versions of the mobile app!!!!! We'll lose all our customers!!!!"
fullStackChris: "That's fine, we can do API versioning, but it will take some time to implement, I'll have to be quite careful and write some tests to implement it. Probably 2-3 weeks..."
Manager: "NO WAY, THAT TIME ESTIMATE IS WAY TOO LONG, WE DON'T HAVE TIME FOR THAT!!!"
fullStackChris: "So how do you wanna support multiple versions of the app without doing any sort of versioning?"
Manager: "...we'll think of something!"
Dev: "..."
And with 99% certainty, I expect to hear this in a week or two:
Manager: "fullStackChris, we'd like to introduce you to the highly technical concept, API versioning. It's a way to version the API so we can support multiple versions of the application our customers use! It's amazing! Please implement this immediately so we can support multiple versions of the application!"
Sigh... each day managers learn a bit more how physical reality works... you can't have your cake and eat it too.7 -
Boss: Who knows C#?
Me: I've heard of the language...
Boss: Perfect.
Sends me (a JS dev) to a week long course to implement a gateway in c#.
So I say to myself, who cares, I will learn a new language.
Apparently the lady in charge of the course mixed up between c# and c++
Funny thing is, the other participants are complaining that they shouldn't be in this course cause they don't know the language...5 -
@dfox and @trogus
I’m quite into lean development, sorry... “Lean Development” and I can’t help but notice your users are trying to tell you something by their actions.
I keep skimming past posts where a user is @‘ed in the main rant.
Then either themselves or someone else will @ those people in the first or second comment as @ing doesn’t work on the main body.
I understand you have your reasons but in the spirit of lean, MVP, build measure learn etc etc
Shouldn’t you accept the behaviour of least resistance and implement the functionality in the main rant body?
Because you’re not stopping anyone from @ing folk, you’re just making it more annoying to do so.
This meme says it all23 -
The year was 2021 and we have to implement X
Alice, the manager: let's do this and this
Me: actually that won't scale, I did the same in my previous company. Here's an analysis on why it doesn't scale
Alice: nope, we'll have to do it like that. If it doesn't scale we'll fix it. It's a learning opportunity.
The feature was rolled out, and we got tons of alerts after 1 week.
Alice: haha what a ride! At least the team learned something new
Me: I didn't learn anything new. All I got was stress and disrupted sleep because of those midnight incidents...
Then 2022 came, Alice was promoted thanks to the incredible leadership to deliver X, I joined a different project, a part of this project is to implement Y, similar to X.
Bob, the manager: let's do this and this
Me: actually that won't scale, I did the same in my previous project. Here's an analysis on why it doesn't scale, you can ask Alice if you want.
Bob: nope, we'll have to do it like that. If it doesn't scale we'll fix it. It's a learning opportunity.
The feature was rolled out, and we got tons of alerts after 1 week.
Bob: haha what a ride! At least the team learned something new
Me: I didn't learn anything new. All I got was stress and disrupted sleep because of those midnight incidents...
It's 2023 now, Bob got promoted thanks to the awesome leadership to roll out Y, I joined another project, which requires us to develop Z, similar to X and Y.
Chris, the manager: let's do this and this
Me: ah shit here we go again...4 -
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 -
Hey there! I am pretty new but old to the community xD. Let me explain and introduce myself.
The post might be a little longer, depending on my inspiration, read it at your own risk ;)
I am here on devRant for almost a year now but, this is my first post. I wasn't active until a week ago or so. Why? Well, at the time, I didn't find posts interesting enough to keep me from work or school. I must addmit I was either stupid or confused (not uncommon for me).
Well, I am high school student who, when not prepearing for an entrance exam for faculty, is learning and doing indie game developent with my cousin's support.
Even though I was intermediate gamer whan I was younger, passionate but not addicted, I didn't even think about getting into game development until my cousin showed me one secific game and told me a story about it. Let's stop here and let me tell you why I tagged this rant with wk88.
I've already mentioned my cousin, he's my wk88 trouble. Why? I'll tell you only one thing. He studies CS at University of Cambridge, UK. He earned the scholarship by competing and earning multiple medals in programming in International Olympiad in Informatics. And here I am struggling with ******* trigonometric identities. But nvm, let's move on.
I told you about the game but didn't actually tell you the title and who developed it. So, my inspiration for getting into game development was Alexander Bruce , guy who designed Antichamber. If you haven't heard of it before/tried it yet, give it a shot, you probably won't be disappointed of you like fucking with your brain.
Here're some facts:
- Started learning programming at the age of 12, thought by my brother using Free Pascal in Lazarus.
- Have been learning C++ for 4 years and C# for 3, both at the same time.
- While learning these two, started building .NET based back-end and doing SQL stuff; failed to finish it, gave up after I realised I needed some advanced front-end skills, which I didn't want to learn, to implement a lot of things I wanted.
- Played a piano since I was 11 and been playing around with music production recently.
Here I am now, learning Blender and hoping that one day I will publish the game I've been developing for past year and a half.
Hope you didn't waste your time reading this. I will try to keep you up with things I experience durning future development.
Cheers! 🍻13 -
To be able to code blind folded - literally. A few years back when the web speech synthesis apis came out and chat bots were raging I thought it would be cool to dictate pseudo code on the fly whole whiteboard the problem. When I investigated the easiest way to implement a mvp I was shocked to learn that there are BLIND programmers.
That alone is impressive and I went on to find that many have years of experience and add valuable contributions on a regular basis. Unfortunately I havnt had an opportunity to meet one yet but I am in utter awe of their accomplishment.
Should I get the chance I want to try and walk in their shoes, live a day without my eyes and learn to solve problems without spotting a pattern8 -
'Sup mates.
First rant...
So Here's a story of how I severely messed up my mental health trying to fit in university.
But the bonus: Found my passion.
Her we go,
Went to university thinking it'll be awesome to learn new stuff.
1st sem was pure shock - Programming was taught at the speed of V2 rockets.
Everything was centred around marks.
Wanted to get a good run in 2nd sem, started to learn Vector design, but RIP- Hospitalized for Staph infection, missed the whole sem and was in recovery for 3 months.
So asked uni for financial assistance as I had to re-register the courses the next semester. They flat out refused, not even in this serious of a case.
So, time to register courses for third semester, turns out most of the 2nd year courses are full, I had to take 3rd year courses like:
Social and Informational Networks
Human Computer Interaction
Image processing
And
Parallel and Distributed Computing (They had no prerequisites listed, for the cucks they are: BIG MISTAKE)
Turns out the first day of classes that I attend, the Image proc. teacher tells me that it's gonna be difficult for 2nd years so I drop it, as the PDC prof. also seconds that advice.
Time travel 2 months in: The PDC prof is a bitch, doesn't upload any notes at all and teaches like she's on Velocity-9 while treating this subject like a competition on who learns the most rather than helping everyone understand.
Doesn't let students talk to each other in lab even if one wants to clear their friend's doubt, "Do it on your own!" What the actual fuck?
Time for term end exams and project submission: Me and 3 seniors implement a Distributed File System in python and show it to her, she looks satisfied.
Project Results: Everyone else got 95/100
I got 76.
She's so prejudiced that she thinks that 2nd years must have been freeloaders while I put my ass on turbo for the whole sem, learning to code while tackling advanced concepts to the point that I hated to code.
I passed the course with a D grade.
People with zero consideration for others get absolutely zero respect from me.
Well it's safe to say that I went Nuclear(heh.. pun..) at this point, Mentally I was in such a bad place that I broke down.... Went into depression but didn't realise it.
But,
I met a senior in my HCI class that I did a project with, after which I discovered we had lots of similar interests.
We became good friends and started collaborating on design projects and video game prototyping.
Enter the 4th sem and holy mother of God did I got some bad bad profs....
Then it hit me
I have been here for two years, put myself through the meat grinder and tore my soul into shreds.
This Is Not Me
This Wont Be The End Of Me
I called up my sister in London and just vented all my emotions in front of her.
Relief.
Been a long time since I felt that.
I decided to go for what I truly feel passionate about: Game Design
So I am now trying to apply for Universities which have specialised courses for game design.
I've got my groove again, learnt to live again.
Learning C# now.
:)
It's been a long hello, and If you've reached till here somehow, then damn, you the MVP.
Peace.9 -
i was graphic designer but couldn't find a reliable frontend dev to implement stuff for my clients. So i decided to learn. Then i found fun in js, later on angular. Then i found node.js and this was FUN! so im a backend dev for quite a while now :-)3
-
In january 2023 i was contacted by a recruiter offering me a job position.
I DID NOT ASK FOR A JOB.
I WAS NOT LOOKING FOR A JOB.
THEY contacted ME.
Ok. So i went along with it and see how it goes. They probably wont hire me nor would i give a shit. Chatted with this recruiter for a while. She forgets to answer my message for 5 fucking days. Twice. Once because she was doing God knows what and the second time because she was on paid vacation. Fine i don't give a shit about you at all anyways.
So this recruiter chatting has been stretched out for several days. I think over a WEEK. So she forwarded me to their lead developer.
I applied to work as a full stack java spring boot backend + angular frontend engineer.
So:
- java backend
- angular frontend
- full stack
- shitload of devops
- shitload of projects i built
- worked with clients
- have CS degree, graduated
- worked a job at their rival company
What could go fucking wrong with all of these stats right?
During technical + hr interview (3 of us on google meets) they asked me what salary I'd be comfortable with.
I said $1500/month straight out.
keep in mind:
- In my country $500 or $600 is a salary for engineers per month
- You get a raise of +$150 which is around $750 after working for 1+ year
- You can earn $1000+ after you work for +2 years
- Rent here is $200-300 a month at minimun. And because of inflation its just getting worse especially with food. So this salary is not for living but for survival.
Their lead engineer gave me a WHOLE ASS FUCKING PROJECT TO BUILD and i had to code it within 10 days. Great so at least 17+ days of my fucking life to waste on these fucktards who contacted ME.
The project was about building a web app coffee shop literally what mcdonalds has when you order via those tablets. I had to build this in java spring boot and angular. I had to integrate:
- docker, devops
- barmen, baristas, orders
- people can order at the table or to go
- each barista can take 5 orders at a time
- each coffee has different types of fields and brewing time
- each barman brews each coffee different period of time
- barista cant take more than 5 orders for to go until barman finishes the previous order
- barista can take more than 5 orders but if those orders were ordered from table, and they have to be put in queue
- had to build CRUD admin functionality coffee's
- had to export them all of the postman routes
- had to design a scalable database infrastructure for all of this alone
- shitload of stuff more
And guess what. After 10 painful days I BUILT THE WHOLE THING MYSELF AND I BUILT EVERYTHING THEY ASKED FOR. IT WAS WORKING.
Submitted it. They told me they'll contact me within 7 days to schedule the final Technical interview after they review what i built. Great so another 17+7 days of my fucking time wasted.
OH and they also told me to send them THE WHOLE GITHUB REPOSITORY AND TRANSFER OWNERSHIP TO THEIR COMPANY'S OWNERSHIP. once you do this you cant have your repository back. WTF? WHY CANT YOU JUST REVIEW THE CODE FROM MY PUBLIC REPOSITORY? That was so weird but what can i fucking do argue with these dickheads?
After a week of them not answering i contacted them via email. They forgot and apologized. Smh. Then they scheduled an interview within 3 days. Great more of my time wasted.
During interview i was on a google meets with their lead engineer, 1 backend java spring boot engineer and 1 angular frontend developer. They were milking me dry for 1 whole fucking hour.
They only pointed out the flaws in what i built, which are miniscule and have not once congratulated me on the rest of the good parts. I explained them i had to rush those parts so the code may not be perfect. I had other shit to do in my life and not work for your shitty project for $0/hour for 10 days you fucking dickriders.
So they quickly ran over to theory. They asked me where is jwt token stored. Who generates it. How the backend knows to authenticate user by it. I explained.
What are solid principles. I said i cant explain what is it but i understand how it works, why its needed and how to implement it (they can clearly see in the project i just build that i applied SOLID principles everywhere) - but i do admit i dont know the theory behind it 100% clearly.
Then they asked me about observables and promises in angular. I explained them how they work and how subscribe method is used (as they can clearly see that i used it in the code). Then they asked me to explain them under the hood of how observables work. The fuck? I dont know and dont care? But i can learn it as i work there?
Etc
Final result: after dragging this for 1 fucking month for miserable $1500/month they told me: we can either hire you now but for a much lower salary which you probably wont be happy with, or you can study more these things we discussed "and know why the car leaks oil" and reapply back to us in 2-3 months!23 -
Is it just me who sees this? JS development in a somewhat more complex setting (like vue-storefront) is just a horrible mess.
I have 10+ experience in java, c# and python, and I've never needed more than a a few hours to get into a new codebase, understanding the overall system, being able to guess where to fix a given problem.
But with JS (and also TS for that matter) I'm at my limits. Most of the files look like they don't do anything. There seems to be no structure, both from a file system point of view, nor from a code point of view.
It start with little things like 300 char long lines including various lambdas, closures and ifs with useless variables names, over overly generic and minified method/function names to inconsistent naming of files, classes and basically everything else.
I used to just set a breakpoint somewhere in my code (or in a compiled dependency) wait this it is being hit and go back and forth to learn how the system state changes.
This seems to be highly limited in JS. I didn't find the one way to just being able to debug, everything that is. There are weird things like transpilers, compiler, minifiers, bablers and what not else. There is an error? Go f... yourself ...
And what do I find as the number one tipp all across the internet? Console.log?? are you kidding me, sure just tell me, your kidding me right?
If I would have to describe the JS world in one word, I would use "inconsistency". It's all just a pain in the ass.
I remember when I switcher from VisualStudio/C# to Eclipse/Java I felt like traveling back in time for about 10 years. Everyting seemd so ... old-schoolish, buggy, weird.
When I now switch from java to JS it makes me feel the same way. It's all so highly unproductive, inconsistent, undeterministic, cobbled together.
For one inconveinience the JS communinity seems to like to build huge shitloads of stuff around it, instead of fixing the obvious. And noone seems to see that.
It's like they are all blinded somehow. Currently I'm also trying to implement a small react app based on react-admin. The simplest things to develop and debug are a nightmare. There is so much boilerplate that to write that most people in the internet just keep copying stuff, without even trying to understand what it actually does.
I've always been a guy that tries to understand what the fuck this code actuall does. And for most of the parts I just thing, that the stuff there is useless or could be done in a way more readable way. But instead, all the devs out there just seem to chose the "copy and fix somehow-ish" way.
I'm all in for component-izing stuff. I like encapsulation, I'm a OOP guy by heart. But what react and similar frameworks do is just insane. It's just not right (for some part).
Especially when you have to remember so much stuff that is just mechanics/boilerplate without having any actual "business logical function".
People always say java is so verbose. I don't think it is, there is so few syntax that it almost reads like a prose story. When I look at JS and TS instead, I'm overwhelmed by all the syntax, almost wondering every second line, what the actual fuck this could mean. The boilerplate/logic ration seems way to off ..
So it really makes me wonder, if all you JS devs out there are just so used to that stuff, that you cannot imagine how it could be done better? I still remember my C# days, but I admin that I just got used to java. So I can somehow understand that all. But JS is just another few levels less deeper.
But maybe I'm just lazy and too old ...4 -
After a decade of working in the web development industry, I have given up all hope, it's the same fucking stupid ideas, the same retarded problems in every damned company . Monkeys discovering and reinventing the same fucking wheel over and over and over again. From a 5 man company to the unicorn scaleup (and everything between) I have had to implement access control systems, and various REST API's following the design made by mongrels who do it the first time . I have become to hate the work I once was so passionate about. Just fuck this shit , if anybody had told me when I was in my early 20's that this is what I end up doing I'd go and learn to be a carpenter instead.10
-
NEW 6 Programming Language 2k16
1. Go
Golang Programming Language from Google
Let's start a list of six best new programming language and with Go or also known by the name of Golang, Go is an open source programming language and developed by three employees of Google and the launch in 2009, very cool just 3 people.
Go originated and developed from the popular programming languages such as C and Java, which offers the advantages of compact notation and aims to keep the code simple and easy to read / understand. Go language designers, Robert Griesemer, Rob Pike and Ken Thompson, revealed that the complexity of C ++ into their main motivation.
This simple programming language that we successfully completed the most tasks simply by librariesstandar luggage. Combining the speed of pemrogramandinamis languages such as Python and to handalan of C / C ++, Go be the best tools for building 'High Volume of distributed systems'.
You need to know also know, as expressed by the CTO Tokopedia namely Mas Leon, Tokopedia will switch to GO-lang as the main foundation of his system. Horrified not?
eh not watch? try deh see in the video below:
[Embedyt] http://youtube.com/watch/...]
2. Swift
Swift Programming Language from Apple
Apple launched a programming language Swift ago at WWDC 2014 as a successor to the Objective-C. Designed to be simple as it is, Swift focus on speed and security.
Furthermore, in December 2015, Swift Apple became open source under the Apache license. Since its launch, Swift won eye and the community is growing well and has become one of the programming languages 'hottest' in the world.
Learning Swift make sure you get a brighter future and provide the ability to develop applications for the iOS ecosystem Apple is so vast.
Also Read: What to do to become a full-stack Developer?
3. Rust
Rust Programming Language from Mozilla
Developed by Mozilla in 2014 and then, and in StackOverflow's 2016 survey to the developer, Rust was selected as the most preferred programming language.
Rust was developed as an alternative to C ++ for Mozilla itself, which is referred to as a programming language that focus on "performance, parallelisation, and memory safety".
Rust was created from scratch and implement a modern programming language design. Its own programming language supported very well by many developers out there and libraries.
4. Julia
Julia Programming Language
Julia programming language designed to help mathematicians and data scientist. Called "a complete high-level and dynamic programming solution for technical computing".
Julia is slowly but surely increasing in terms of users and the average growth doubles every nine months. In the future, she will be seen as one of the "most expensive skill" in the finance industry.
5. Hack
Hack Programming Language from Facebook
Hack is another programming language developed by Facebook in 2014.
Social networking giant Facebook Hack develop and gaungkan as the best of their success. Facebook even migrate the entire system developed with PHP to Hack
Facebook also released an open source version of the programming language as part of HHVM runtime platform.
6. Scala
Scala Programming Language
Scala programming termasukbahasa actually relatively long compared to other languages in our list now. While one view of this programming language is relatively difficult to learn, but from the time you invest to learn Scala will not end up sad and disappointing.
The features are so complex gives you the ability to perform better code structure and oriented performance. Based programming language OOP (Object oriented programming) and functional providing the ability to write code that is capable of evolving. Created with the goal to design a "better Java", Scala became one behasa programming that is so needed in large enterprises.3 -
I've been hunting for a new job for several months because my current company isn't growing my skills any further. There have been many setbacks, a few rejections, and that awful lingering imposter syndrome. So I finally dug myself out of my self pity and began learning things that my current company doesn't implement – JS frameworks, UX practices, etc. Today I had an interview that felt more like a conversation and collaboration than getting grilled about terminology and bug fixes. No matter what the result, I've been inspired to learn again 😌undefined and if you're in the same boat - keep going! just thought i'd share :) rekindled my coding love13
-
Not sure if you'd call this an insecurity but regardless; frontend.
Much of the stuff I develop is meant to be user/privacy friendly.
Like, at the moment I'm developing an end-to-end encrypted notes web application. The backend is a fucking breeze, the frontend is hell for me. I'm managing mostly but for example, I need to implement a specific thing/feature right now and while the backend would take me about 15-30 minutes, I've been only just thinking about how I'm going to do this frontend wise for the past few fucking hours.
My JavaScript skills are quite alright, html is manageable, css only the basics.
And before people tell me to just learn it; I. Fucking. Hate. Frontend. Development. My motivation for this is below zero.
But, most of the shit I write depends on frontend regardless!3 -
I wrote a node + vue web app that consumes bing api and lets you block specific hosts with a click, and I have some thoughts I need to post somewhere.
My main motivation for this it is that the search results I've been getting with the big search engines are lacking a lot of quality. The SEO situation right now is very complex but the bottom line is that there is a lot of white hat SEO abuse.
Commercial companies are fucking up the internet very hard. Search results have become way too profit oriented thus unneutral. Personal blogs are becoming very rare. Information is losing quality and sites are losing identity. The internet is consollidating.
So, I decided to write something to help me give this situation the middle finger.
I wrote this because I consider the ability to block specific sites a basic universal right. If you were ripped off by a website or you just don't like it, then you should be able to block said site from your search results. It's not rocket science.
Google used to have this feature integrated but they removed it in 2013. They also had an extension that did this client side, but they removed it in 2018 too. We're years past the time where Google forgot their "Don't be evil" motto.
AFAIK, the only search engine on earth that lets you block sites is millionshort.com, but if you block too many sites, the performance degrades. And the company that runs it is a for profit too.
There is a third party extension that blocks sites called uBlacklist. The problem is that it only works on google. I wrote my app so as to escape google's tracking clutches, ads and their annoying products showing up in between my results.
But aside uBlacklist does the same thing as my app, including the limitation that this isn't an actual search engine, it's just filtering search results after they are generated.
This is far from ideal because filter results before the results are generated would be much more preferred.
But developing a search engine is prohibitively expensive to both index and rank pages for a single person. Which is sad, but can't do much about it.
I'm also thinking of implementing the ability promote certain sites, the opposite to blocking, so these promoted sites would get more priority within the results.
I guess I would have to move the promoted sites between all pages I fetched to the first page/s, but client side.
But this is suboptimal compared to having actual access to the rank algorithm, where you could promote sites in a smarter way, but again, I can't build a search engine by myself.
I'm using mongo to cache the results, so with a click of a button I can retrieve the results of a previous query without hitting bing. So far a couple of queries don't seem to bring much performance or space issues.
On using bing: bing is basically the only realiable API option I could find that was hobby cost worthy. Most microsoft products are usually my last choice.
Bing is giving me a 7 day free trial of their search API until I register a CC. They offer a free tier, but I'm not sure if that's only for these 7 days. Otherwise, I'm gonna need to pay like 5$.
Paying or not, having to use a CC to use this software I wrote sucks balls.
So far the usage of this app has resulted in me becoming more critical of sites and finding sites of better quality. I think overall it helps me to become a better programmer, all the while having better protection of my privacy.
One not upside is that I'm the only one curating myself, whereas I could benefit from other people that I trust own block/promote lists.
I will git push it somewhere at some point, but it does require some more work:
I would want to add a docker-compose script to make it easy to start, and I didn't write any tests unfortunately (I did use eslint for both apps, though).
The performance is not excellent (the app has not experienced blocks so far, but it does make the coolers spin after a bit) because the algorithms I wrote were very POC.
But it took me some time to write it, and I need to catch some breath.
There are other more open efforts that seem to be more ethical, but they are usually hard to use or just incomplete.
commoncrawl.org is a free index of the web. one problem I found is that it doesn't seem to index everything (for example, it doesn't seem to index the blog of a friend I know that has been writing for years and is indexed by google).
it also requires knowledge on reading warc files, which will surely require some time investment to learn.
it also seems kinda slow for responses,
it is also generated only once a month, and I would still have little idea on how to implement a pagerank algorithm, let alone code it.4 -
!rant
Got back into android development recently and while everything was pretty flawless ( I managed to get the basic concepts implemented in a day) something wasn't right.
For some reason I was not happy with the code i wrote, although I took examples from google and tried to adapt their code style. It looked aweful. I hated my code.
But the code itself wasn't the core of the problem. I could easily add new features and replace components with new implementations without breaking the app. All those "good code quality" identifiers were there.
Turn out the problem is Java. Or to be more specific: Java 1.6
Every listener which only calls a single function once a worker has finished needs 6 lines of code. If you implement the inferface in the class it gets messy once there are multiple workers and you have a generic interface. And there are no lambdas!
So I made the switch to Kotlin.
The app was converted to kotlin in 30 Minutes. Android studio can convert the classes automatically and very little manual work is needed afterwards.
After that I spent 2 hours replacing the old java concepts with Kotlin concepts: lamdas, non-nullable types, getters and setters in kotlin style (which in this case is c# style) and some other great thing.
The code is good looking now. I like it. I like kotlin as it has a lot of cool things.
Its super easy to learn. It took me about 2 hours to get into it. It combines concepts from java, javascript, c# and maybe a few other languages to form a modern jvm 1.6 compatible typesafe language.
Android dev is fun again!2 -
I'm basically an introvert. I've lived most of my childhood with my mother alone with few friends and the ones I had betreyed me real hard at some point. So how come that I'm now founding a startup, speaking in front of a big audience at meetups and have a nearly 60/40 work/social life?
At some point I decided to be more social. Making that decision alone had a huge impact. It took several years though, to implement this decision. Some day I cut off my draining social bounds and found energyzing relationships by simple doing what I wanted to do. I started to reach out and experiment with a lot of hobbies like bow casting and going to board games evenings. I made little steps. E.g bow casting is a sport where you don't necessarily interact with others within the sport, but you have the opportunity to interact about the sport.
A physiologist once told me the neat fact, that being an introvert is just an attribute that does not contradict the skill being socially involved. So it is possible with training and decisions to learn how to be more extroverted. For in introvert this is more exhausting and challanging, but definitely possible.
So today I balance my social life and work by visiting meetups, playing board games and all that stuff that makes me comfortable. There I get to know people with similar interests and similar struggle ;)
At some point the work was just not enough to be happy, I identified my missing social interactions as the root cause so I decided to change that.
On the other hand, don't think you have to be social. Don't think you have to care about everything others expect you to care about. It's bullshit. Don't care about that. Rather ask yourself what you want for yourself. Certainly a social life is part of that, but you alone decide how this will look like. E.g. After I decided hey I just don't give a fuck if you like cuddling your cat and when it's birthday is, several months or years later I started to be interested in these things from my own, not because some dippshit society construct expects me to care about it.
So to wrap up:
Introvert is an attribute, social life is a skill.
Deciding for yourself and giving a fuck about others is key.
It takes a shit load of time. But it works. -
Going through the typical phase of being depressed because of feeling underdeveloped skill wise and ignorant knowledge wise; despite how much I learn. God, spent 3 days on a recursive dynamic programming problem and couldn't implement it right... then I decided to glance at someones solution on github and turns out he did what I couldn't do in 70+ lines of code in 20. Sigh, just want to right concise and clear code and become a better programmer all together, but that obviously takes time. For the mean time I am feeling quite defeated.9
-
How do you guys learn something new? Do you first learn things deeply and then implement or straight away start using it? I find it confusing sometimes.10
-
Dear Hipchat, if you are going to implement an Autocorrect Feature, LEARN THE FN TECH LANGUAGE
if i type gradle i do not mean grade
if i type coap, i do not mean soap
if i type mqtt i do not mean mitt
and for f-shake hipchat is not "hip chat", how do you even mess that one up!
(feature now disabled)3 -
So I work for a company that does outsource, this company is pretty nice, but I don't get to see it too often. The one where I'm outsourcing though is the one where I spend all of my time.
Now, this company is a kind of a startup working with AI and Deep Learning (but not if statements :o ), but I came here as a full stack python developer that should implement their AI modules into real apps (mainly web apps).
Everything sounds good untill now, I learn lots and I'm doing what I wanted: python development. The problem is: management + one kiss ass guy.
The amount of work that should be done and the deadlines that should be kept are so messed up that I end up working extra hours, sometimes even in weekend, just to get it done. I'm the only apps developer there, so passing my tasks is not an option. I tried to talk about this, but I was met with a "loser can't keep up even with these few tasks..." kind of attitude.
Moreover, there is a guy that would do anything for the boss's attention, so he speaks everyone there behind their backs (and we all know it, but he's the favorite and he actually knows his stuff so we can't do much about him).
Now the question: what should I do? I only have 5 months here (so leaving would put a hole in my CV, I don't even know what to answer at this interview question "why are you leaving"), plus that the managers from these two companies are highschool friends which means that if I go and ask for a different project, the atmosphere at work will change (maybe this is overthinking already, but I can't help it). Also, last week I could barely get through the days without crying from stress.
TL;DR: I learn a lot from this company, but the deadlines are killing me and my stress level is at an all time high. I want to leave, but I kind of can't because I want my CV to look good.
So yeah, this is my first real rant, feels good to put it out there17 -
Childish thing really, and slightly related to my current job
Was working on a small pet project (it was a website really) back in college, and collaborating with another friend on it who lived in a different city. Had to show him my progress but he wasn't a programmer, just had to show him how much front end part is done and the functionalities till that time. Of course hosting it online was the best solution, but I was a student and broke.
So I got this python script caller pagekite which would make my laptop into a server for the duration I run the script. It ran but I couldn't manage to show him the site for days since I didn't know where it was connecting to. (No one had any docs on it back then)
Did some tinkering and saw that it connects to localhost, so I fired up my xampp server and it worked as I wanted it to :')
Since that day, I decided that I want to be a developer and learn and implement more of such things.
Moral: the smallest, insignificant things can sometimes give you the most happiness. -
A couple of weeks ago I had an internship. I worked there with a classmate. We had a simple assignment, but since we're noobs when it comes to web applications (and because you don't learn that in school), we even had a hard time preparing.
Finally, I... I mean "we" decided to use React because it's close to the way we learned to solve problems in school. I asked him to implement a page with a date picker/calendar. I even searched for a repo that. 2 Days later he was still not able to implement it, he experimented with the code, but he
1. didn't even read the readme, just copied the tutorial expecting it to work
2. Didn't even look at the logic behind it.
3. Demanded to use this other repo with less functionality
10-30 minutes should have been more than enough. Instead, I wasted time telling him to read and code properly. He refused the second (and probably also the first), because "Why should I care? We'll be here for 3 weeks and then we're done with this"
Guess whom I'll avoid in any possible group project3 -
!rant
I am on vacation from my full time job this week. I wanted to use this week to write a PoC for a potential customer of my side business. really interesting project for me.
potential customer is a window and door manufacturer and needs an application to manage their racks.
their ERP system already has a simple rack management but it is only useable in house.
they want the drivers to be able to scan racks they deliver to a customer with a native app and they want to have a webapp for the customers to see racks that are assigned to them as well as reporting a rack ready for collection. And that all needs to be in sync with their local ERP system.
as i am a .net guy i decided to go with the abp framework (because it got recommended to me) and xamarin for the native app part (because i have experience in this).
i have now spent 4 days implementing this and it has been so rewarding. the framework is so powerful and it's template saved me endless hours.
i even wrote a very basic connector service which synchronizes data between my app and the clients ERP system. Just one way until now because of time issue, but i learned to scaffold an ef core with db first. It is noticable that the ERP system is 2-tiered - meaning the clients directly talk to the db.
Tomorrow i will implement the xamarin client.
4 days just coding what i want to. choosi g my own velocity and making my own priorities without any interruptions or discussions and a bunch of new things to learn.
Probably wasted half a day because of stupidy (implemented some bugs) but fixing and learning is part of the journey and i lime that part, too.
i am so relaxed right now 😁 just wanted to share this without a real reason :P3 -
Long time no rant from me. Sorry guys, has been a tough time for me.
Little background: I'm an apprentice and as such definitely not a fully trained professional. I'm working in a big company with people who have very let's say interesting ideas what I should be able to do.
This whole disaster begins shortly after I started my apprenticeship. I was offered to choose my first little project. "Something from the backlog, not very challenging and a nice beginner one. It's just about a PoC" ok, le me thinks. I choose to make a weather display.
Basic functionality was provided within the next 3 weeks. My direct boss (let's call him Jo) liked it and talked to his boss (Hugo) about it. Hugo was so excited he called our product manager to get my plugin into our software asap and began to think about where else we could use this.
This is where shit went downhill. Hugo told me it was my task to implement it on a totally different platform and to "host it in azure". I don't know much about azure and I never used it. I told him that I'd need time and some kind of sandbox to try and learn how things work. He promised but nothing ever came through. Not even Jo could do something about this.
They told me I should write this asap because "every customer would LOOOOVE this" and I honestly can't think of a way to meet all their requirements without access to our azure system/ sandbox. (There are a lot of requirements)
Am I wrong? Should I be able to do this? I'm a fucking trainee. I don't know everything.7 -
So I just started going to university and have a subject called "programming", we are taught Java, Haskell and Prolog. Every week there is a sheet with homeworks, programming tasks. Often we get something like a boilerplate, so we implement some methods and stuff like that. Those tasks are prepared and created by scientific assistants. They upload the boilerplate and sheets. Take a look at the programming style they follow in Java. Actually I can't find a pattern they follow, except from the spacing between the lines. We are 1000 students in the informatics course, of which probably 10% know how to properly program 😅
So like 900 people see and adapt/learn this real bad coding convention. It really pisses me off, that they basically don't give a shit about convention or teaching them. I have to say that the logic some times is as worse as the conventions 😓
Besides I am not cocky with conventions, but I think at a high-class university they should teach proper convention.17 -
We are 2 people working as remote android devs for this startup in another country. 6 weeks ago a new person joined onsite to work directly in startup HQ. I'l refer to him as an newguy.
Last week we started new sprint (of 2 weeks) to work on a new feature.
Newguy was responsible for gathering all the specs and planning, so this is how our sprint is going so far:
Day 1:
We have 10+ tickets in jira (tickets have only titles) no one knows what to do and we don't even have specification. I started pushing everybody onsite to get their shit together. We NEED UX/UI specs, we NEED backend to be ready, or at least start working paralelly so that once wer'e done with frontend backend would be ready. I mean cmon guys this feature is already 70% done on iOS, why cant you send us the specification?
Day 2:
We had a meeting on Zoom and talked about missing specification and project manager promised to send us the specs. Meanwhile the idea of feature became clearer so I agreed with the newguy to start researching about best way to implement our solution.
Day 3:
We received the specifications. I provided my research for the feature to the newguy. Turns out the he knew about specification 4-5 days before.
Instead of sharing information with us, he decided to create his own library to do what we want to do and blatantly rejected my research input.
Now he showed his implementaton (which is shit by the way) and presents it as the only way to proceed forward. He offers for us to work paralelly with him on this (basically he wants to write library alone, and we are supposed to somehow implement and test it, but how the fuck we can implement if backend is not ready and library is just a bunch of empty interfaces at this point?)
I talked with one of the teamleads in the startup and told him that this is not the way things were being done here before and new guy is becoming a dictator.
Teamlead talked with new guy and found no issue. Basically newguy defended his sole decision by saying that he did research on his own, there are no libraries that do what we want and he knows better.
Teamlead tells me to STFU because new guy seems competent and he will be leading this feature. Basically from what I gathered teamlead doesn't give a single fuck and wants to delegate all project management to this new guy.
Day 5:
End of the week. New guy claims that his lib is done so we can start implementing properly. I tried implementing his lib but its fucked up and backend is still not ready.
Day 6:
Backend is still not ready, no one is doing anything just waiting for it to be ready.
Day 7 (Today):
Today(Backend is still not ready, no one is doing anything just waiting for it to be ready.
So what can I say? His plan was to probably prove his self worth and try to lead this feature by giving us information at last minute. At the point were we should start implementing instead of researching.
What happened? Motherfucker doesn't know shit about backend, has been notified about backend issues multiple times but his head was so deep up his ass with that new library of his that he delayed the rest of the team.
Result? 7 working days wasted. Out of 3 developers only 1 was actually working (and his fucked up code will have to be rewritten anyways). Only 50% of feature done. Motherfucker tells me that this is how we will work in the future, "paralelly". The fuck is this mate? If you would have worked on this feature alone you would have done it already now, but instead you wait until we remote devs will login and fetch you the test input and talk with backend guys for you? The fuck is wrong with you.
You fucking piece of shit, learn to plan and organize better if you want to lead the team. Now all that you are doing is wasting time, money and getting on everyboys nerves. Im tired of fucking spoon feeding you every day you needy scheming office politics playing piece of shit. Go back to your shithole country and let us work.
When I was responsible for sprint planning I figured out what to do before start of the sprint and remote devs were able to do week's work in 1-2 days and have rest of the week off. This is how it's supposed to be when you work with a remote team. Delegate them separate features, give them proper specs ahead and everyone's happy. Don't start working on frontend if you dont even fucking know when backend will be ready. It's fucking common sense.
Now I need to spoon feed this motherfucker who can't even get information while sitting on his ass onsite in HQ. Fucking hell.8 -
Sometimes I feel like I am surrounded by idiots. My family are too stupid and lazy to have jobs or do anything involving a skill. They are too dumb to do anything properly so most of the house is fucked.
My co-workers are supposed to be Web devs but cba to learn the frameworks or languages we work on. Some of them have over 5 years experience and don't understand basics like backend verification vs front end.. Or even what json is. Needless to say everything I'm told to do is retarded such as implement roles and permissions where there are no roles, but ot allowed to add roles.
Anyone else surrounded by idiots 90% of the time? How do you not get worn down?2 -
My latest attempt to improve myself as a dev has been learning front end technologies, or as I prefer to call it, throwing heaps of shit at a wall and seeing what sticks and calling it modern design. Fuckers.
Otherwise I usually try to implement small manageable side projects to learn new tools enough to know what they are good for so if I ever do need them I know what to choose.1 -
MENTORS - MY STORY (Part III)
The next mentor is my former boss in the previous company I worked.
3.- Manager DJ.
Soon after I joined the company, Manager E.A. left and it was crushing. The next in line joined as a temporal replacement; he was no good.
Like a year later, they hired Manager DJ, a bit older than EA, huge experience with international companies and a a very smart person.
His most valuable characteristic? His ability to listen. He would let you speak and explain everything and he would be there, listening and learning from you.
That humility was impressive for me, because this guy had a lot of experience, yes, but he understood that he was the new guy and he needed to learn what was the current scenario before he could twist anything. Impressive.
We bonded because I was technical lead of one of the dev teams, and he trusted me which I value a lot. He'd ask me my opinion from time to time regarding important decisions. Even if he wouldn't take my advice, he valued the opinion of the developers and that made me trust him a lot.
From him I learned that, no matter how much experience you have in one field, you can always learn from others and if you're new, the best you can do is sit silently and listen, waiting for your moment to step up when necessary, and that could take weeks or months.
The other thing I learned from him was courage.
See, we were a company A formed of the join of three other companies (a, b, c) and we were part of a major group of companies (P)
(a, b and c) used the enterprise system we developed, but internally the system was a bit chaotic, lots of bad practices and very unstable. But it was like that because those were the rules set by company P.
DJ talked to me
- DJ: Hey, what do you think we should do to fix all the problems we have?
- Me: Well, if it were up to me, we'd apply a complete refactoring of the system. Re-engineering the core and reconstruct all modules using a modular structure. It's A LOT of work, A LOT, but it'd be the way.
- DJ: ...
- DJ: What about the guidelines of P?
- Me: Those guidelines are obsolete, and we'd probably go against them. I know it's crazy but you asked me.
Some time later, we talked about it again, and again, and again until one day.
- DJ: Let's do it. Take these 4 developers with you, I rented other office away from here so nobody will bother you with anything else, this will be a semi-secret project. Present me a methodology plan, and a rough estimation. Let's work with weekly advances, and if in three months we have something good, we continue that road, tear everything apart and implement the solution you guys develop.
- Me: Really? That's impressive! What about P?
- DJ: I'll handle them.
The guy would battle to defend us and our work. And we were extremely motivated. We did revolutionize the development processes we had. We reconstructed the entire system and the results were excellent.
I left the company when we were in the last quarter of the development but I'm proud because they're still using our solution and even P took our approach.
Having the courage of going against everyone in order to do the right thing and to do things right was an impressive demonstration of self confidence, intelligence and balls.
DJ and I talk every now and then. I appreciate him a lot.
Thank you DJ for your lessons and your trust.
Part I:
https://devrant.com/rants/1483428/...
Part II:
https://devrant.com/rants/1483875/...1 -
My brain: you have 30 min until you gotta catch the bus, that’s enough for that css fix you wanted to implement on the website!
My development environment: Hey that looks a lot better and works perfectly fine!
My website in production: Fuck you. Fuck your changes. Fuck your bus.
What do we learn? Precompile assets before pushing to production and don’t push to production if there’s a bus to catch 🙃 -
I kinda hate to admit it but they were right. Data structures and algorithms are kinda the shit and you should try to learn and appreciate them. Not just so you’ll use them. But in that learning them helps you become a better problem solver.
There’s a self taught dev that my company works with for really bespoke applications. A senior dev that works with him and helps manage the development process told me that the dev in question doesn’t really know how to implement the finer details. Very telling indeed.3 -
What do you tell interviewers as a "Senior developer" when they ask you what you do at your current job.
I've been with my current for almost 8 years, since graduating... Few different time but not very well managed (semi/barely agile). Hasn't really provided any skill growth opportunities. Mostly fixing production issues, chasing other teams.
The projects I've worked on are in many different languages either enhancements or some standalone stuff. But nothing that's huge and I don't think I've learned anything from them. I usually apply what I learn and practice outside of work to work.
So to me I can probably list a whole lot of projects but to me their not that amazing, I didn't learn anything from them.
Also about those algorithm questions. I've never used any of this stuff actually at work. Concepts yes but not how do you implement ... And honestly I've never once had a situation that required algorithmic thinking other than maybe writing recursive functions in rare occasions...
But to me I've never once done anything harder or new which I haven't already done on my own....
Sorry for the disorderly rambling this turned into... which is sorta a problem too.
Everytime I think about interviews, I want to give rants about we technical questions are BS, how I probably have enough real experience to tackle any problem and come up with a good plan/solution (in a realistic timeframe, not 20 minutes from design to implementation)2 -
So I met this person via a social platform.
They were absolutely silly and weren't able to hold a conversation. So I, like a normal person, just stopped trying to keep things alive.
Over the years, I have realised and learnt that if a person is interested in being friends, they'd put in efforts and I alone will not have to drag things on my shoulder.
I started cutting out people right, left, and center who I felt were taking advantage of me or using me in some way or another.
I ended up saving a lot of time and energy. I no longer feel drained or anxious about something not working out. Not dragging saved me from draining.
Anyway, they reach out to me again after few weeks and I was like let's give it a try to establish a friendship, because befriending people is my weak point.
The cycle repeats. At first I thought it must be because of the asynchronous nature of the platform so I drop my Telegram Id in case they preferred an IM approach.
I swear in the name of sweet lord, the retard does the same behaviour. So, I stopped communication.
And one fine day, the person tells me that they lack social skills and want to learn how to make friends and stuff.
Very fair point. So, me being me, gave them a few tips and critically pointed out their behaviour on how they reply with a one liner after every 2 or 3 business days.
Absolutely no change in their behaviour. They kept texting me the same.
At this point, I was like why am I doing it? I could find better people easily. Because for me, communication is everything. I cannot function without a good communication between two living beings.
So, I asked them why are they even trying to learn social skills when they barely implement it and don't want to change to which they reply saying that so they can use it to befriend people and network to getter better job opportunities.
I fuck them off.
And fuck such people who have intentions, are not clear enough about it, and play people for their own selfish gains.
And this where another learning I got from @scout is have boundaries.
Why do all good people in my life leave? Damn it! I need those good people back and be friends with them and not retards who cannot even communicate beyond one liner.11 -
Sooooo...
why does everyone use a million and 2 modules when working with node? I understand the speed of development goes up pretty quickly by not having to reinvent the wheel by retyping code that already exists, but...
the worst case tradeoff I've personally seen to date is someone who doens't know the difference between a string and an array but they "coded a web app" and it runs like soupy diarrhea.
maybe there's something I'm missing about node development, but I personally like writting code that does some task or function for myself to learn/understand how to do it and implement it. Usually, that also helps me figure out how and where to speed things up.
I'm just postulating that maybe reinventing the wheel can be a good thing, that's probably why we don't see formula1 cars using pennyfarthing wheels. 🧐22 -
When I got changed between 3 projects in one month. Everytime I thought I got it figured out... NOPE. New project, new stuff to learn, comprehend and implement.
Very shitty period.1 -
My IoT professor expects us to, somehow, learn Machine Learning and use that to analyse the data we obtain in the working of our project! How are we supposed to learn ML to implement it's techniques, while simultaneously create a IoT project, learning its own techniques and also handle our other courses in just one semester?!6
-
It's an irony in my case. Python is so simple and fast to implement that I end up doing all my projects ( web dev, ML, crawlers, etc.) But still I can't use Python for solving competitive programming. Python seems unknown if I don't have access to google. Way to go to learn Python. Though able to think Pythonic nowadays.. ;p3
-
From perfectly working scrum team to... Don't know what it is now...
Long story short - our SM left company and our team have ongoing "reorganization", our tester leaving at the end of this month, probably we will be out of tester for next month...
I don't mean reorganization, it's normal thing, but... It looks like it's slowly collapsing under bad head decisions (one of them is the reason why our tester is leaving)... Multiple "side" projects / tasks for ppl in team and problems with delivering sprint tasks on time because of it, context switching etc.
I fucking like this project, it gives me much opportunities to learn new things and design new features - it's up to us how we will implement it. Client is satisfied with our work and we worked for their trust for long time. But if things will be going same way as now, we will probably lose it.
How do you think, is it worth to try stay with this project? Or should I update CV just in case?6 -
This story just left me speechless in any way and i want to share it. tl;dr at the end.
Im studying computer science in germany and in the first of the small classes i noticed... no, i was disturbed by a guy who would just say that the thing we're learning atm were so easy and the teacher shouldn't even bother to explain it to the class. I don't understand why you would spoile a class that hard... I'm here to learn and listen to the teacher, not to you little asshole. (We were doing basic stuff like binary system etc. but still, let us learn)
So he became unpopular pretty fast.
Fast forward, a few weeks of studying later there was a coding competition where you had to solve different algorithmic problems in a team as fast as possible.
I came there, without a team because my friends aren't interested but I enjoy such tournaments. This guy and me were the only ones without a team and we had to work together.
After him being a total dick for hours i had to watch him code a simple for-loop, that iterates through a sorted array. Nothing special, at this point anyone could do that task in our class so it shouldn't be a problem for him.
He made a simple for-loop and it worked fine, but we figured we had to iterate through the array the other way around.
'Alright', I think. 'Just let the index decr..' 'Pssshhh', he interrupted me and said he knows exactly how to do this.
I was quite impressed when he started to type in 'public int backsort..' in a new line. He tried to resort the array backwards with a quicksort that he then struggled to implement. (Of course we had to implement a quick runtime and we needed that quicksort badly)
I was kind of annoyed but impressed at the same time. I mumbled 'Java has an internal sorting algorithm already' just to amuse myself.
He then used that implementation.
After a few minutes of my pleasure and multiple tests without hitting the requested runtime, i tried to explain to him why we wouldn't need to sort that array backwards and he just couldn't believe it.
I hope that he stays more humble after that..
Also we became last place but thats ok :)
tl;dr: Guy spoiles whole class, brags with his untouchable knowledge (when we do things like binary system). In a competition has to iterate through a sorted array backwards - tries to implement a sorting algorithm to sort it backwards first. I tell him, we could use a already implemented java method. Then tell him we could simply iterate through decreasing the index. Mind-Blown2 -
So I'm gonna finish my interpreter. No matter how much fucking work it is to implement a proper cross platform terminal library, because all the existing ones suck. I'm gonna write a debugger for it.
And then I'm gonna learn to play the ukulele.
And I'm going to start a new project that may actually make me a good sum of money.
This is the plan. If I don't do this then literally fuck my life, I might aswell jump off a bridge because I can't fucking do anything12 -
Just sharing a quick interview tip which helps alot.
Recruiter: Do you know this XYZ technology?
Candidate 1 : I don't know this technology, but if you GIVE ME A CHANCE, I will,
TRY AND LEARN.
Candidate 2 : I don't know this technology, but I am confident enough that I will be surely be able to learn and implement at a very quick pace.
Candidate 2 was hired. And why? Just check the formation of the response from both the candidates.
Remove the phrases like "give me a chance" and "will try" from your vocab in an interview, always form your responses in a positive and confident manner.
Both the above responses are quite the same, but just due to their different formation, candidate 2 succeeded!4 -
Every. Single. Time. I've tried to learn and implement proper Unit/Instrumentation testing, the main Android devs decide to go for something else or introduce some feature or Gradle plugin that breaks every tutorial out there. I find it way easier to just test everything manually than learning the new yearly trend. Am I the only one?1
-
If you make themes in twig for a saas platform, for the love of god, learn twig. Learn to use partials and macro's for fucks sake.
Instead of building a good and maintainable theme I'm spending my time doing these "quick wins" that are horrible to implement. The whole thing is build up like that Escher staircase painting. -
I really like helping other learn how to use a programming language or solve problems on general. I often go out of my way and stop working on my hobby projects, just to help someone.
Thag being said, I'm no prgramming god. I myself am striving to become a better programmer.
I make mistakes, I can't always help you, I am still learning, but I only have good intentions. And you are by no means obligated to follow my advice. Quite the contrary, fight me, try to prove me wrong or say point out possible flaws. THINK ABOUT WHAT I TELL YOU. DON'T JUST BLINDLY FOLLOW MY ADVICE AND BITCH ON ME LATER.
This happens rather often and I can see why you want to blame me. And I can't deny that part of this is also my fault.
Situations like these don't really tilt me.
But today someone had the fucking nerve to pop a file into the chat and get mad at me for sugvesting a cleaner, shorter and more efficient solution. LIKE I DON'T FUCKING CARE THAT IT TOOK YOU A WHOLE DAY TO IMPLEMENT SOMETHING I CAN DO BETTER IN MINUTES, I JUST WANT TO HELP YOU.
But the best thing I get afterwards: "But you told me to do it like that" BITCH WHAT!?
I have chat logs telling me loud and clear that the concept we never talked about before in private nor on a public server (bless discord's search function). And I will not accept your lousy excuse of having me cobfused with someone. You disrespected me greatly, you put words in my mouth, just to justify your pity anger, when I'm trying to help you?!
Get crucified and put on a shooting range!
I offer you out of pure goodwill. Something you'd normally have to pay for. And this is the treatment I get in return?
Just rm -rf your disastrous, dd -if=/dev/urandom your harddrive and sod off!2 -
I'm 22 years old and 1.5 years into my first Startup Job. (and second Dev job)
I feel kind of uncomfortable now and I would like to ask your opinions.
I'll start with the work related description of my situation and later add a bit of my life situation.
I develop as hobby since I can think. I'm pretty engaged and love to do things right. So I quickly found myself in the position of the de-facto lead fullstack Developer.
Although, to be clear, were only a few devs - which are now replaced by not so many other devs. I feel often like the only person able to design and decide and implement in a way that won't kill us later (and I spend half of my time fixing technical debt).
I mostly like what I do , because it's a challenge and I feel needed. I learn new things and I am pretty flexible in work time. (but I also often work till late in the night, sacrificing friendship time)
But there are so many things I would love to do and used to do, but now I have no motivation to develop outside of my job.
I don't really feel that what my company is doing is something I find valuable. (Image rights management)
I earn pretty well - in comparison to what I'm used to: 20€/hour, Brutto 2.800 / month for 32 hours a week. In Berlin. (Minus tax and stuff it's 1.800€). It's more than enough for what I need.
But when I see what others in similar positions earn (~4.000), I feel weird. I got promised a raise since nearly a year now. I don't feel I could demand it. I also got the hint that I could get virtual shares. But nothing happened.
Now what further complicates the situation is that I will go to Portugal in April for at least half a year, for joining a social project I love. My plan used to be that I work from there for a few hours a week - but I'm starting to hesitate as I fear that I will actually work more and it will keep me from fully being there.
So, I kind of feel emotionally attached - I like (some of) the people, I know (or at least believe) that the company will have a big problem without me. (I hold a lot of the knowledge for legacy applications) .
But I also feel like I'm putting too much of myself into the company and it is not really giving me back. And it's also not so much worth it... Or is it?
Should I stick to the company and keep my pretty secure position and be financially supported during my time in Portugal, while possibly sacrificing my time there?
Should I ask for a raise (possibly even retroactively) and then still quit later? (they will probably try to get my 1 month of cancelation period upped to 3).
Also, is this a risk for my "career"?question work-life what? purpose startup safety hobby work-life balance life career career advice bugfixing7 -
One of my greatest personal challenges has always been to try and balance "good enough asap" and "but I know how to do this better if I spend a few more days on it". I like to think I've gotten better at it; Leaving things be if they are to spec and keeping my implementations consistent with existing work even if I disagree with it being ideal.
Which makes this new project we're taking over my trial of fire. The combination of the codebase - a Vue app from a previous rant where Vue is mostly used as a callback function to alter the dom using the document api in plain js - and the expectation for us to implement new features and minor tweaks to a user base of literally 4 people is like a charicature of the type of work I struggle with.
Even writing all this I'm evaluating if I'd be able to remake it all from scratch fast enough to sneak it in without anyone noticing.
It's an uh, "opportunity" for me to learn how to handle these situations, I suppose. Have mercy.1 -
It's been a little bit over two weeks since I quit my first job, thought I would share some stories 😁
I started my very first job in the middle of August (last year) and my duties were to fix some issues on front-end files. You can see my previous rants to see how long were these files 😐
So after 2/3 months I managed to get my shit done, started learning Vue on my own to implement it to new projects (and done it successfully) and learn something about shitty clients who don't know how to live and don't know what do they want.
When I quit the job on the last day of April, I was so happy to end it mostly due to this one specific client who were able to turn happy innocent coding of a great project into hellish shit. Plus there were some issues I noticed with some people I worked with (like they were sending these sexist memes which weren't funny at all 🙄)
TL;DR if you feel that your job post is not for you or that is doesn't make you feel happy or comfortable, don't be afraid to walk away. I did and I don't regret it 😉 -
I've ranted about this before, but here we go again:
Go Plugins.
I was racking my brains trying to figure out how one could possibly implement plugins easily in Go.
I had a look at using RPC, which requires far to much boilerplate to be realistic. I looked at using Lua, but there doesn't seem to be a straight forward way of using it. I was even about to go with using WASM (yes, WASM). But then I came across Yaegi ("Yet another elegant Go interpreter", you heard right: "interpreter"), Yaegi is also very easy to use.
There are a few issues (including some I haven't solved yet), including flexibility (multiple types of plugins), module support, etc. Fortunately, Traefik just released their plugin system which is based on Yaegi (same company), and I got to learn a few tricks from them.
Here's how module loading works: The developer vendors their dependencies and pushes them to a repo. The user downloads the repo as a zip and saves it to the plugins folder. I hash the zip, unzip it to a cache, and set the the GOPATH for the interpreter to be that extracted folder. I then load the module (which is defined by a config file in the folder), and save it for later. This is the relatively easy part.
The hard part is allowing for different types of plugins. It looks easy, but Go has a strict typing system, makes things complicated. I'm in the process of solving this problem, and so far it should go like this: Check that the plugin fits an arbitrary interface, and if it does, we're good the go. I will just have to apply the returned plugin to that interface. I don't like this method for a few reasons, but hopefully with generics it will become a bit more clean.1 -
Today spent 20min in a senior android dev interview debating an ex backender CTO about the importance of final classes where he tried to pull out some sort of perfect answer from me about it. Ironically this is the same CTO who failed managing a previous android contractor who was supposed to rewrite old app and ended up with an even shittier new app in 6 months of time. Now they are insecure and are looking for a new contractor who will be micromanaged this time.
But hey I guess he knows the importance of final classes. Some CTO's need a reality check and at least some business training, because your perfectly written app is useless if it doesnt fulfill business needs.
Their app is based on heresdk and built around navigation. The biggest bottleneck is that it works shitty on low end devices so their competition solved this problem by using a whitelabel rooted tables with a custom ROM wher u have full control over hardware, permissions and battery management. However this startup thinks they can build a perfect navigation app which will work perfectly on all devices while at the same time while also relying on a poorly optimized navigation sdk. Poor initial strategy I'd say and they didnt learn from previous 2 failures, now they are searching for the next savior android contractor who will have to solely implement evrything. -
Started a new role as a front end developer working with React, happy that i finaly won't have to work with wordpress anymore, having a great hope that I will learn from the best with my team, and then ... COVID-19 ... I have to work from home
first task, implement a feature on a react front end build with react boilerplate, first time seeing this repo and dispair quickly took over, there is no documentation except for clone and install, the code is a mess, the console is filled with errors and warnings ...
I did what I could, but it was not enought, my n+1 didn't complain but if I was him i'd fire my ass with no regret, now I understood why almost all my collegues are working as a backend devs.
I don't fear being fired, I fear the feeling of being not good, feeling useless, each morning I stare at the code and I become illiterate, I can't even touch a keyboard, now I don't know what to do, fixing this shitty app, trying to build something with react boilerplate and try to understand how the data flow, or continue my endless tutorial hell .1 -
When Do You Stop Taking Responsibility?
Let me clarify by describing four scenarios in which you are tasked with some software development. It could be a large or small task. The fourth scenario is the one I'm interested in. The first three are just for contrast.
1. You either decide how to implement the requirements, or you're given directions or constraints you agree with. (If you hadn't been given those specific directions you probably would have done the same thing anyway.) **You feel accountable for the outcome**, such as whether it works correctly or is delivered on time. And, of course, the team feels collectively accountable. (We could call this the "happy path.")
2. You would prefer to do the work one way, but you're instructed to do it a different way, either by a manager, team lead, or team consensus. You disagree with the approach, but you're not a stubborn know-it-all. You understand that their way is valid, or you don't fully understand it but you trust that someone else does. You're probably going to learn something. **You feel accountable for the outcome** in a normal, non-blaming sort of way.
3. You're instructed to do something so horribly wrong that it's guaranteed to fail badly. You're in a position to refuse or push back, and you do.
4. You're given instructions that you know are bad, you raise your objections, and then you follow them anyway. It could be a really awful technical approach, use of copy-pasted code, the wrong tools, wrong library, no unit testing, or anything similar. The negative consequences you expect could include technical failure, technical debt, or significant delays. **You do not feel accountable for the outcome.** If it doesn't work, takes too long, or the users hate it, you expect the individual(s) who gave you instructions to take full responsibility. It's not that you want to point fingers, but you will if it comes to that.
---
That fourth scenario could provoke all sorts of reactions. I'm interested in it for what you might call research purposes.
The final outcome is irrelevant. If it failed, whether someone else ultimately took responsibility or you were blamed is irrelevant. That it is the opposite of team accountability is obvious and also irrelevant.
Here is the question (finally!)
Have you experienced scenario number four, in which you develop software (big as an application, small as a class or method) in a way you believe to be so incorrect that it will have consequences, because someone required you to do so, and you complied *with the expectation that they, not you, would be accountable for the outcome?*
Emphasis is not on the outcome or who was held accountable, but on whether you *felt* accountable when you developed the software.
If you just want to answer yes or no, or "yes, several times," that's great. If you'd like to describe the scenario with any amount of detail, that's great too. If it's something you'd rather not share publicly you can contact me privately - my profile name at gmail.com.
The point is not judgment. I'll go first. My answer is yes, I have experienced scenario #4. For example, I've been told to copy/paste/edit code which I know will be incomprehensible, unmaintainable, buggy, and give future developers nightmares. I've had to build features I know users will hate. Sometimes I've been wrong. I usually raised objections or shared concerns with the team. Sometimes the environment made that impractical. If the problems persisted I looked for other work. But the point is that sometimes I did what I was told, and I felt that if it went horribly wrong I could say, "Yes, I understand, but this was not my decision." *I did not feel accountable.*.
I plan on writing more about this, but I'd like to start by gathering some perspective and understanding beyond just my own experience.
Thanks5 -
I'm just fed up with the industry. There are so much stupidity and so much arrogance.
My professional experience comes mainly from the frontend and I feel like it's not as bad on the backend but I'm still convinced it's not really different:
I'm now about to start my 3rd job. It's always the same. The frontend codebase is complete shit. It's not because some juniors messed up not at all. It's always some highly paid self-proclaimed full-stack developer that didn't really care somehow hacked together most of the codebase.
That person got a rediculous salary considering the actual skill and effort that went into the code, at some point things became difficult, issues started to occur and that person left. If I search for that person I find next to the worst code via gitlens on Linkedin it's somebody that has changed companies at least two times after leaving and works now for a lot of money as tech-lead at some company.
There's never any tests. At the same time the company takes pride in having decent test coverage on the backend. In the end this only results in pushing a lot of business logic to the frontend because it would just take way to long to implement it on the backend.
Most of the time I'm getting told on my first day that the code quality is really high or some bullshit.
It's always a redux app written by people, that just connect everything to the store and never tried to reflect about their use of redux.
Usually it's people, that never even considered or tried not using redux, even if it's just to learn and experiment.
At the same time you could have the most awesome projects on github but people look at your CV, sum up the years and if you invested a lot of time, worked way harder to be better than other developers with the same amount of experience, it's totally irrelevant.
At the same time all companies are just the worst crybabies about not being able to find enough developers.
HR and recruiters are generally happy to invite somebody for an interview, even if that person does not have any code available to the public, as long as that person somehow was in some way employed in the industry for a couple of years. At the same time they wouldn't even notice if you're core contributor for some major open-source product if you do not have the necessary number of years in the industry.
I'm just fed up.
By the way, I got my first real job about two years ago. Now I'm about to start my third position because my last job died because of the corona crisis. I didn't complain for some time because I didn't want to look like I'm just complaining about my own situation. With every new job I made more money, now I'm starting for the first time at a position that is labeled "lead" in the contract.
So I did okay. But I know that lots of talented people that worked hard gave up at some point and even those that made it had to deal with way too much rejection.
At the same time there are so many "senior" people in the industry, that don't care, don't even try to get better, that get a lot of money for nothing.
It's ridiculously hard to get a food in the door if you don't have any experience.
But that's not because juniors are actually useless. It's because the code written by many seniors is so low quality, that you need multiple years of experience just to deal with all the traps.
Furthermore those seniors are so busy trying to put out the fires they are responsible for to actually put time into mentoring juniors.
It's just so fucked up.3 -
What to reply to a person who insist to use procedural php for developing website(with lot of services ofc) instead of framework which uses OOP concepts?
And says it will take too much time to learn those concepts and to implement it.1 -
Need to use new module or pattern:
1. Read the online documentation
2. Have no fu*kin clue what I just read
3. Try for 2 hours and fail.
4. Go home and sleep
5. Wake up at 3am from a fever dream with the solution to the problem
6. Go to work and implement it in 10 min
I guess I learn when I sleep -
I can't help it sounding bitter..
If you work some amount of time in tech it's unavoidable that you automatically pick up skills that help you to deal with a lot of shit. Some stuff you pick up is useful beyond those problems that shouldn't even exist in the first place but lots of things you pick up over time are about fixing or at least somehow dealing or enduring stuff that shouldn't be like that in the first place.
Fine. Let's be honest, it's just reality that this is quite helpful.
But why are there, especially in the frontend, so many devs, that confuse this with progress or actual advancement in their craft. It's not. It's something that's probably useful but you get that for free once you manage to somehow get into the industry. Those skills accumulate over time, no matter what, as long as you manage to somehow constantly keep a job.
But improving in the craft you chose isn't about somehow being able to deal with things despite everything. That's fine but I feel like the huge costs of keeping things going despite some all the atrocities that arose form not even considering there could be anything to improve on as soon as your code runs. If you receive critic in a code review, the first thing coming back is some lame excuse or even a counter attack, when you just should say thank you and if you don't agree at all, maybe you need to invest more time to understand and if there's some critic that's actually not useful or base don wrong assumptions, still keep in mind it's coming from somebody that invested time to read your code gather some thoughts about it and write them down for you review. So be aware of the investment behind every review of your code.
Especially for the frontend getting something to run is a incredibly low bar and not at all where you can tell yourself you did code.
Some hard truth from frontend developer to frontend developer:
Everybody with two months of experience is able to build mostly anything expected on the job. No matter if junior or senior.
So why aren't you looking for ways to find where your code is isn't as good as it could be.
Whatever money you earn on top of your junior colleagues should make you feel obligated to understand that you need to invest time and the necessary humbleness and awareness of your own weaknesses or knowledge gaps.
Looking at code, that compiles, runs and even provides the complete functionality of the user story and still feeling the needs do be stuff you don't know how to do it at the moment.
I feel like we've gotten to a point, where there are so few skilled developer, that have worked at a place that told them certain things matter a lot Whatever makes a Senior a Senior is to a big part about the questions you ask yourself about the code you wrote if if's running without any problems at all.
It's quite easy to implement whatever functionality for everybody across all experience levels but one of your most important responsibilities. Wherever you are considered/payed above junior level, the work that makes you a senior is about learning where you have been wrong looking back at your code matters (like everything).
Sorry but I just didn't finde a way to write this down in a more positive and optimistic manner.
And while it might be easy to think I'm just enjoying to attack (former) colleaues thing that makes me sad the most is that this is not only about us, it's also about the countless juniors, that struggle to get a food in the door.
To me it's not about talent nor do I believe that people wouldn't be able to change.
Sometimes I'm incredibly disappointed in many frontend colleagues. It's not about your skill or anything. It's a matter of having the right attitude.
It's about Looking for things you need to work in (in your code). And investing time while always staying humble enough to learn and iterate on things. It's about looking at you
Ar code and looking for things you didn't solve properly.
Never forget, whenever there's a job listing that's fording those crazy amount of work experience in years, or somebody giving up after repeatedly getting rejected it might also be on the code you write and the attitude that 's keeping you looking for things that show how awesome you are instead of investing work into understanding where you lack certain skills, invest into getting to know about the things you currently don't know yet.
If you, like me, work in a European country and gathered some years of industry experience in your CV you will be payed a good amount of money compared to many hard working professions in other industries. And don't forget, you're also getting payed significantly more than the colleagues that just started at their first job.
No reason to feel guilty but maybe you should feel like forcing yourself to look for whatever aspect of your work is the weakest.
There's so many colleagues, especially in the frontend that just suck while they could be better just by gaining awareness that there code isn't perfect.6 -
I joined engineering to learn a lot of things and build cool stuff with other classmates and lecturers. But the college,universty and all students were only focused on grades, literally no one wants to learn anything , they just memorize the information , write it in exam and forget by next semester. Lot of students werent even able to build a demo web application projects , they just borrow it from their seniors,buy it or anyway except building by themselves.
I somehow didnt like this process and was always opposed to the process, i didnt study last night for many exams , just wrote what i knew , i was able to pass most of the exams , but some failed too may be because i wasnt that good at that subject or the valuator needs answer as exactly as in his book. I went on to learn it all by myself , ignoring my grades , as it takes lot of time to maintain grades, and is way too less exciting than programming.
I m building an interesting project for my final year and have worked as freelancer to develop and implement few web and mobile applications.
Now, at the end of the college, they have the job , i have only have skills.
I even feel that if that kind of guys can get selected there, then i should not be there.2 -
0. Do all practice in Clean Code
1. Do almost all exercises in Eloquent Javascript
2. Learn Python
3. Be proud of the work done in my current job project (I've just started)
4. Read own code from <wk100 and say: "omg I'm a much better programmer today!"
5. Implement 32 hour days to have time to read all those books, listen all those podcasts, code all those katas... -
At my school we have 2 projects a year, mock projects to learn how that works.
For this project we have to use php, agile and we have an actual customer. Since several groups work for the same customer , the customer can choose the best result. (if your product gets chosen then there may or may not be a reward)
In every sprint meeting the customer confirms my thoughts on how much I hate customers without any knowledge.
I'm good at dumbing things down for less knowledge people. But no matter how I try to dumb down demo, she doesn't get it.
I'm so super frustrated!!!!
And she's asking for a feature that she'll probably use once, and I'm not convinced she knows what she is asking for. But will take me several hours to implement. It feels so useless.3 -
Am I the only one to think companies asking questions such as those for technical interviews don’t understand what software engineering/development is about ?
- How many layers does a webservice have?
- What framework do you use for unit testing ?
- How do you do dependency injection ?
Essentially questions that they deem black and white but really aren’t. Besides isn’t the core of the work to just adapt and learn while being smart about what things you implement ? I don’t get these questions for me it’s a sign that a company doesn’t understand the work I’ll be doing.
I think for a technical interview I’d much rather spend my time on a difficult algo question in the language of my choice for 30mins - 1h than 20mins answering close minded questions that don’t have to be.
This rant is mostly due to the fact I’ve done a few interviews with two companies and both behaved like that, I’m 100% certain I had the skills to do the jobs they were offering me (they both contacted me first) but both ended up denying me because my knowledge on their specific questions wasn’t detailed enough. I could have learnt their stack in about a week so I don’t know why that mentality exists.
I might be wrong about the core of the work though… what do you think?3 -
My top lesson was realizing that I am a stubborn person, and that I was wrong to keep trying to implement unimplemented features past a deadline and that I need to understand when to give up. I also learned that I can't trust others to finish their part of something I start. There is nothing like seeing the entire backend you wrote be gutted by someone else because they "needed to learn how route handlers work by creating it themselves" and then seeing them not complete said route handlers.
-
tl;dr:
What is a good start in go?
My wife wants to upgrade her coding skills from „I heard it at college“ to „I actually did something with it“.
I want to learn Go and start coding a bit more. My background is mostly C++ (Backend) and a bit Java (Fronted) some years ago before I went more into testing. For test automation I always use the language that makes the project happy, often Java.
We want want to join forces now, take a vacation and implement a small microservice in Go for my wife’s product (she is a PO) using pair programming.
I want to prepare that a bit. What is a good course or web tutorial to start, that some of you took and can recommend?
Thank you very much!!6 -
Im implementing kafka with little to no theory understanding. Now that i have finally managed to implement it Perfrctly, even started kafka, zookeeper and kafka-ui through docker compose and it works perfectly in the backend app, i can finally now see the power this technology withholds, and now i have even more understanding of how it (approximately) works, and Now I'm more willing to learn the theory to understand it under the hood.
Does someone else find it much easier to fuck around and find out when learning something new before being overbloated with boring dry theory?
I fucking hate theory. Any kind of theory. Its boring as shit. But now that i have gone through practical implementation of this and can understand how powerful backend i can build with it, Now I'd have no problems learning theory9 -
It's somewhat nice here. The thing is we have a lot of infrastructure problems and it's hard to implement business here which made it hard to find a job. But if you're working with US clients, it's fine. Internet access and electricity is not reliable, but you can find a workaround.
As a consumer of digital services, it's weird as we're pretty close to the US (2 hours flight) and there's not an embargo against us, but payment processing services won't touch us (legalization is awful for them), so good luck paying with any local issued card. And if anything is country restricted, we're right next to Cuba (Again, legalization). Paypal, Spotify, iTunes, most of Netflix, a few cloud providers.
Yeah, that's it. Right next to the US and no embargo and willingness to learn other languages (Easy to find French, English and Spanish speaker), but with big infrastructure problems (Internet and Electricity) so you can be really qualified and not get a job.
I'm in Haiti.4 -
(heading)How a programming language is created? Because I want to make my own.(heading)
I am learning C and next I will learn C++, SQL,DS&A, Assembley, Lex&Yacc,Operating Systems, Computer Arcticture, Computer Networks because I think it's enough for my goal. The only reason I am learning this, to make my own C++ clone with my own knowledge. But I really don't know how can I create my own programming language like C++ from scratch. Like what are the first steps to began with. As I know that C, first step is Preprocessor then Compiler then Assembler then (Loader/Linker).
Anyone please give me a step by step guide like learn this language first then this then this. So I can finally reach that amount of knowledge which I can implement to create my own programming language like C++.6 -
- Finish "Introduction to algorithms"
- Learn some genetic algorithms
- Get my hands dirty on reinforcement learning
- Learn more about data streaming application (My currently app is still using plain stupid REST to transport image). I don't know, maybe Kafka and RabbitMQ.
- Learn to implement some distributed system prototypes to get fitter at this topic. There must be more than REST for communicating between components.
- Implementing a searching module for my app with elastic search.
- Employ redis at sometime for background tasks.
- Get my handy dirty on some operating system concepts (Interprocess Communication, I am looking at you)
- Take a look at Assembly (I dont want to do much with Assembly, maybe just want to implement one or two programs to know how things work)
- Learn a bit of parallel computing with CUDA to know what the hell Tensorflow is doing with my graphic card.
- Maybe finishing my first research paper
- Pass my electrical engineering exam (I suck at EE)1 -
this is dumb.. i been trying to learn more about google places' A.P.I so i could implement them in android studios... spend 4 hours and all i can see is garbage tutorial and no detail place. oh at least i got my A.P.I key! pshh my googling skills are failing me big time!. make this shit easier google!.4
-
!rant
[Update on previous rant at the bottom]
So I had the technical test last friday. I did not try to implement any automated test as it is not my forte.
I had three hours to showcase my knowledge of data structures and OOP so I did that.
The test was somewhat long actually, so I left out one part that I did not have time to implement: validation of input files.
Today I got feedback, everything went well, they liked my code and I only got two negatives: Error handling and automated tests xD
Now I'm going to the second phase: phone interviews and they are gonna asks the whys of my implementation.
I'll have to explain why I did not implement automated tests and the girl on the phone told me "they didn't like it much that you had no tests because tests are very important for us".
I guess I'll have to come clean and say that I'm not very strong on that but willing to learn, so I didn't want to risk it doing something I'm not really good at.
I hope it ends up well.
prev rant:
https://devrant.com/rants/1607302/...4 -
ScalaJs React compiles Scala to React.js.
There's some cool typing involved but I haven't done web front-end since nested tables were meta, so there's lots to learn.
There's exactly one senior dev at my company who is fluent in this ScalaReact, so I tag him in the PR for my project. Every day at 10:00 am, slack publicly posts a reminder with @mention that he hasn't reviewed my PR.
Three days later I haven't heard anything so I send a DM over slack asking for feedback... No response.
Four days after the PR I beg for 10 minutes of pairing time, because something in my component hierarchy smells funny. He doesn't have time for me until 5:00 .
I've now built almost a weeks worth of work on the original PR and the feedback I get is 'this works, is performant, and has no obvious bugs, but you can't merge it until you restructure the underlying component hierarchy'
It takes me and another senior dev an entire day of pairing to implement the changes without breaking anything. But, I asked for the feedback because I wanted to learn and write good clean code so I'm irritated but willing to move on.
Yesterday I posted in slack that I was having a hard time following my callback chains to find where the color was assigned to a <td (because I had to add a coloring rule). I wanted to know if I could change the type signature of a component from Tagmod (one or more HTML tags) to VdomTagOf[TableCell] so that it would be clear where the color was assigned.
Instead of just telling me 'no' and giving some context, the react dev gives me:
"Why would a dev need to know about the type unless they’re actually trying to use the thing ? Those are all great questions, but id suggest trying not to prematurely optimize for those until they actually come up"
I flipped my shit. After you couldn't make time for me for a WEEK I had to justify to the CEO why I was spending a day on PURE refactors to accommodate your PREFERENCES. Meanwhile when I'm being VULNERABLE and exposing that I am confused and struggling to complete my task you DISMISS my concerns and attack my motivations.
Unfortunately, this is all happening in the public slack channels and I start defending readability and my premise while triggered. Now I'm riding the shame train for fighting in public slack and trying to pretend none of this ever happened.1 -
(not a rant) Knowledge seeker XD
I'm about to start my life as unemployed/fresh grad , and I'm still not sure if my coding was good or right (proper coding). But I already have an experience on creating Android App (Java) and MySQL as database , Web Dev (HTML, CSS, Javascript, PHP, MySQL database) implement plugins like JQuery , Bootstrap , Chart.js , and DataTables , basics of Python , GIT ,and understanding of OOP.
I'd like to know where I can learn proper coding and good practices , where I can solve sample machine problem , learn different programming languages , and tips that might help me to be better.
note: I already do some research about this topics , I just want to get more answer as much as possible , Thank you :)
May the bug/s be fixed by you. -
What do you guys think is the best method to teach juniors web dev? What are some things that would make you love a uni class and learn it?
I am teaching web dev and I find it very hard to engage all the students as almost half of them are not interested and I think they see the class too difficult(web basics?!). This is my first class teaching and I want to gather some feedback here and implement it in my class.
So, basically let me know of anything that makes you love and hate abclass because of the teacher's methodology. Thanks a lot3 -
I've lost count of the days at this point...
First things first, lets all praise musky for getting David Bowie stuck in my head for the next month or so, not a bad thing, his song choice was on point. Also the rants have become few and far between because apparently I have to be an "adult" and go to work, pay my bills, and other things that distract me from programming.
Okay, now to the actual dev stuff. I've started to think that maybe my scope of languages is limited somewhat to my comfort zone, which is only java at this point. So for my project (game development), I've decided to pick a language based on what will work best instead of what I'm comfortable with, my runners so far...
C++: The default go to for game development. I would chose this but if I did, my best C++ game would look like Frankenstein's monster and would be filled with terrible code. For that alone I have scratched C++ from my list, for lack of experience.
Java: My usual, my go to, my comfort zone. I don't want to be comfortable though, I want to learn things. That asides, java has tones of resources, frameworks, libraries, and tutorials available. In addition, it's also able to run on pretty much anything, huge ++. The cons are trying to find the best resources, frameworks, libraries, and tutorials to use for a particular situation and that can be hard and confusing. Java may still be my go to but I'll get to that with the next language.
C#: I have never touched C# in my life, and the only things I know about it are what I've heard or read. So far I've heard it is SIMILAR to java, based around C++, and has aged really well compared to other languages. I like that it is similar to java without it being the same language, it will force me to learn things over and you can never reinforce the basics enough. It also has the huge benefit of being Microsoft based while still running on iOS, linux, macOS, windows, and android. This gives me really easy access to implement a mobile version (in the future obviously), while being able to run well on windows, the default OS for most gamers.
Overall I will start writing in C# and see if I like it. If I don't it's no big deal, I still have a good option in java to fall back on. I'm open to hearing opinions on this topic, java vs. C# but please keep your bias nonexistent and you constructive conversation very high. If any actual game developers that have experience with both languages are out their, and reading this, please comment so I can pick your brain.
Some of you may ask about the android scholarship, I contacted google and told them android development wasn't for me so they sent someone a late invite and rescinded mine, hopefully someone else will put it to better use.
Holy god this is long. I'm sorry. -
Good Experience -
1.)Became proficient in Web development!
2.)Wanted to learn it for a very long time but didn't know where to start, but this year got opportunities to work on some good projects!
3.)Also got to lead a awesome team of good developers in my college!
4.) Got to work on a awsome internship with a very nice employer :)
5.) Became a Devrant Supporter :D
Bad Experience -
1.) Had to face shit ass seniors who blamed me and my team all the time for their inefficiencies.
2.) Team had developed many good projects in android and web for the college,but the stupid seniors failed to implement them,it was a big mood!
3.) I had planned to learn ML and improve my competitive coding and also finish my game,but failed to do so :(.
Hopefully 2018 will be productive:)
Merry Christmas and Happy New Year 🎆🎄🎅 -
I am deep onto a project that helps me learn a new lang, so of what ever resone I didnt implement testing of latest code jntil afterwards...
but when I wrote the test and it worked on first time... thene wrote test still worked.. wrote failing test and it failed... as it was suppose to...
*nagging feeling starts*
I am still convinced that some thing is wrong... but it is my personally hobby project so I have this terrified excited expectation of the future of my project xP
cannot decide if this is a rant or some thing else *cryies and laughs* -
At some point I need to do an older project i've had on hold a while, but it'd require writing my own ROM patch system as a major step in completing it, as i'd need to dynamically patch stuff into older games based on system, which current patch formats don't allow for. (This project will also help me learn a few things I need for yet more projects I've got stashed away, so it needs to happen eventually.)
Now, the interesting part: the patch format. I was debating on whether to use binary data, like IPS/BPS and similar formats do, which would be easier to implement... but if I were to have plaintext patches, you'd be able to not only understand what's happening, but also have things like scripting and conditionals and user-defined options and such. This would be WAY harder to implement, slow as fuck, and require an assembler per-target-system, either external or internal... but it'd be transparent, editable, and hella extendable.
This would all happen after I'm both over my burnout AND done chewing through my current stack of projects and such, of course, but still... which sounds better to you, dear reader?2 -
I have been having one of those days, well weeks where new concepts that would have otherwise taken a few hours, to learn and implement are taking days !! I don't know how y'all consistently learn new things and implement them, while still meeting deadlines.
My team usually holds weekly progress meetings where we discuss completed tasks and the following week's tasks. During the last meeting, I hadn't completed anything worth noting and I had no major reason other than, not having fully understood the concept.
Which is embarrassing because everyone else had done something.
I know, I know, I shouldn't compare myself to others but we all know my boss does. I don't blame him though, I mean I always pick the cake with more icing, and that's just food!
I don't even know what to do about it anymore!!! Is this a phase? Is it normal? What do people do about it? wait it out?3 -
ASP.NET Core (MVC) is frustrating me.
I’m a big fan of ASP so far but I’m just struggling to understand a lot.
First off to use it you have to fucking memorize every class in the fucking framework and the functions within them. It just expects that I automatically know which classes I need to implement or inherit from and why, but if I don’t? I can fuck off. But this is also just a C# problem in general.
And it does so much for you and that bothers me so much. I was so excited to actually implement protection against SQL Injections, using HTTPS, validating logins, interacting with the SQL for the database but FUCKING NOPE BECAUSE IT DOES IT FOR YOU.
I don’t want my hand held I want to feel like I’m actually doing things and I want to learn how shit works and how it’s made. It’s just disappointing. I appreciate that it wants me to focus on the app and I will appreciate it a lot more when I’m done learning how everything works but I won’t actually get to understand how those features work or how I can implement them myself because it’s spoiling me too fucking much.
I guess I’m just gonna have to practice more. And don’t bother telling me to look at the documentation, I’ve never seen such a fucking piece of shit mess before I laid eyes upon the docs for C# & ASP21 -
Hey guys!
Once again, I got a little stumped when writing one thingmajig in Python.
I am normally not a programmer (Work as sysadmin), so I don't really know all the fancy abstract ways things are done "properly", which is why I need to ask here:
I have a program, separated into parts. The "core" is a part that sets commandline argument structure (using the argparse library), loads master configuration file, sets up the main logging facility, and then proceeds to load "plugins" - python files with one or more classes that implement one specific abstract class that forces them to implement a common interface of init, run, cleanup functions.
The core then proceeds to initialize those classes, run the "run" function, and run the "cleanup" function.
If the plugin class throws a Warning, it is only logged and runtime continues. If it is anything else, the program logs it and stops.
Now, the issue is, sometimes, a user may want to continue even if a non-warning occurs.
Lets say that I am creating a user, and the user already exists. Sometimes, the program user might want to continue with further plugin execution. And what I was told was to implement specific commandline switches that force continuation of runtime despite the plugin failing.
How should I implement it? The most obvious thing is to add a specific switch for every plugin, but that is exactly what I am trying to evade. I want to have the core as abstract as possible.
Other solution I thought of is to have a file of some sort that would list extra switches to implement, then it would be up to the class to implement if it uses the switch or not (I pretty much pass the entire Namespace received from parse_args() function), but this also feels kinda hackish.
I thought about having some sort of function that the plugin could call in the core to add a new argument, but at the point that plugins start loading, the argument parser is already compiled and cannot be changed further.
Any other ideas of how to re-implement the program are also welcome! I may not do it this times, but I'd at least learn something new again.3 -
Professor who never stood up from her chair during any of our lectures and read directly from her powerpoint. When it came to projects, she would deduct points because there was something we didn't implement BUT it wasn't in the specifications or in her instructions.
We did not enjoy or learn from her. -
What the hell am I!? I wonder if you guys can help me...
I've been programming most of my life but I've never actually been a developer by title or job role. I thought maybe if I list what I do and have done someone here could help? I'm sure there are more of you in a similar boat.
- C# and VB dev for some quick DBMS projects to help me understand and mine databases and create a nice simple view for project teams to show findings from the data to help make certain decisions.
- Automating a lot of my colleagues work with Python and if very restricted then just VBA macros in Excel and MSP. This did also include creating tools to gather data during workshops and converting the data for input into other systems.
- Brought Linux to the office with most team members now moving over to Linux with the peace of mind to know that though they do need to try solve their own problems, I can help if need be.
- Had to learn AWS and then implement an autoscaling and load balanced data center installation of a few Atlassian toolsets.
- Creating the architecture diagrams documentation needed for things like the above point.
- Having said that, also have ended up setting up all the Jira/Confluence etc. servers we use and have implemented so far whether cloud (Azure/AWS) or on prem and set up scripts to automate where possible.
- Implemented an automated workflow view in SharePoint based on SP list data and though in an ASPX page, primarily built in JS.
- Building test systems in PHP/JS with Laravel and Angular to help manage integration between systems. Having quite a time right looking into how to build middleware to connect between SOAP and REST API's, the trouble caused more by the systems and their reliance on frameworks we're trying to cut out of the picture.
- Working on BI and MI and training a team to help on the report creation so that I can do the fun creative stuff and then set them to work on the detail :)
Actually it seems safe to say that it seems that though I've finally moved into a dev office (beforehand being the only developer around) I seem to be the one they go to when a strategic solution is needed ASAP and the normal processes can't be followed (fun for someone with a CompSci degree and a number of project management courses under the belt... though I honestly do enjoy the challenges)
But I always end up Jack of all but master of, well hopefully some at least. let's not even get started on the tech related hobbies from circuit design and IoT to Andoid / iOS and game dev and enjoying a bit of pen testing to make sure we're all safe at work and at home.
As much as I don't like boxes, I'm interested to know if there is in fact a box for me? By the way, the above is just a snapshot of my last two years minus the project management work...2 -
The more I learn, the more easily I get triggered at little things.
Read heapq python documentation to implement a min priority queue
Intuitively wrote heapq.push and heapq.pop in my code
Got to know that it's actually heapq.heappush and heapq.heappop
TRIGGERED! -
I want to learn about the most important network protocols (HTTP 1/1.1/2, SSH, IMAP, SMTP, IMAP...) but reading the RFCs is extremely time consuming and probably not necessary for someone which doesn't need to implement these protocol.
Do you know more concise resources where I can learn more about the topic?9 -
People, help me out.
(first some abstract thoughts)
I am a final year undergrad yet to take steps in the world and i am trying to figure out what to do with my time, what my end goal and next steps should be.
As of now I think my end goal is "relaxation , peace and happiness of me and my loved ones", and to reach there , i need money.
My younger self chose engineering for a particular reason(that i vaguely remember) and weather it was a right or wrong/illogical decision, i guess i am stuck with it and have to use this only to reach my end goal.
Maybe i am regretting this and want to change. Maybe i am just a lazy ass who is bad in his assigned role of an engineer and is running towards glitter in other fields, whatever it is , i am not going against the decision of my past and accepting my identity as an engineer.
I believe once i am able to achieve my goal( that am still not sure about but overall is a good one from general perspective), i guess i will be satisfied
------------------------------------------------
(enough with the deep stuff)
I want to learn how to "learn" . like i am always conflicted about what to do next once the tutor leaves my hand.
for eg, let's say i goto a site abc.
1. They got 1 course each for android , web dev and ai. I choose the web dev course and give my hardworking attention to it
( At this point my choice is usually based on the fact that <A> i should not be stupid to buy all 3 course even if i have money/desire to buy all of em because riding 2 horses is only going to break my ass and <B> some pseudo stats like whichever got more opportunity, which i "like", etc(Point B is usually useless in the long run i guess) )
2. From what i have experienced, these courses usually have a particular list of topic that they cover and apply them to 1 or 2 projects. For eg, say that my web dev course taught me 20 something concepts of basic html/css/js/server and the instructor applied it to blog website
BUT WHAT IS NEXT ?
2.1.
>> Should I make more projects using only those particular list of concepts?
I usually have a ton of ideas that i want to implement now that i know how to build a blog site.
say i got a similar idea to make say url shortner. I start with full enthusiasm but in the middle way there is some new thing that i don't know and when i search the internet, i realize that there are 5 ways to implement such concept, making me wander off towards a whole list of concepts that were not covered in my original 20 concept course. This makes the choice 2. 2
2.2
>> Should I just leave everything , go to docs and start learning concepts from the scratch ??
Usually when i start a project, i soon realize that the original 20 concepts were just the tip of iceberg and there are a ton of things one should know, like how os works, how a particular component interacts with another, how the language is working, how the compiler is executing, etc .
At that point i feel like tearing all my notes away, and learning every associated thing from the scratch. No matter how much my project suffers, i want to know how the things are working from the bottom , like how the requests are being mad, how the routes are working, etc which might not even be relevent for the project.
Why i want to follow approach 2? because of the Goal from abstract thoughts. in theory, having deep knowledge is going to clear my interview thereby getting me a good job.
I will get good money, make projects faster and that will be a happily ever after story.
But in practical this approach is bringing me losses and confusion. every layer of a particular thing i uncover, turns out there is another layer below that. The learning never stops. Plus my original project remained incomplete.
What is your opinon, how do you figure out what to do next?8 -
[long confession/question]
So I was asked by a client to make an app similar to prisma(not exactly that but let's say a caricature app) and I knew I have to research a lot.
Now I have been loyal to PHP for over 5 years so I first tried with GD and imagick but the results were not very good, so I thought let's try opencv. I didn’t wanna make any compromises so I didn't go the bridging way, I worked on native python even though I am a newbie in it. I was fairly impressed with the cartoonizing results but others weren't. Soon I got to know that this would take much more than simple filter combinations or matrix manipulations.
I read about prisma and got to know it uses deep neural networks for the same.
Now, in the five years I have learnt almost all the things a run-of-the-mill "Full stack Web Developer" should know.
I have a fair knowledge of PHP, many of its frameworks, many js frameworks(obviously jquery), I have a very good understanding of CSS and its models, I have worked on some cool algos and found solutions to many problems but I haven't gotten to stage where I can implement neural networks/machine learning in my projects.
It just scares me.
___
A little back story: I have been the CTO of a small scale company for about 1.5 years now.
___
So all this got me to asking myself should I just step down from the post to a position where I can learn more skills. Managing takes a lot more time where I can't learn a lot. Sure I learnt some other important things but not as much tech knowledge as I would have in a more basic position.
I know not many of you must have read this far, but if you did what do you think I should do? Really depressed at the moment.5 -
We learn more with blockers and errors.
I do learn more by doing each day rather than a tutorial/doc.
PS:There need to be a basic idea about the env we are working but It'snt mostly effective/practical to learn everything and work or implement in that.1 -
Upgrading my tech skills.. Once again I feel my personal my personal dev environment and told are much more up-to-date than what I use at work.... Though the book Kim reading is on TDD and was written 3 years ago.
Maybe I should read another on in cloud services and ML... but don't have any motivation for these topics.
I need TDD for work because now we're emphasizing unit test coverage...
I usually only use manual functional tests to verify the final outputs as either the testing framework is broken (JS) or I don't have time to relearn the frameworks for the particular language...
Anyway got off topic... So questions after:
1. Do you ever feel your technologically always more ahead than what you do at work and essentially you bring skills to the job but you don't learn much out of it?
2. How do you test? I actually got into a bit of a argument/discussion with my colleagues about how to implement unit tests. Apparently there are 2 ways to test? Black box vs WhiteBox. She said she tests only Public methods using mock inputs, dependencies. She read online and seems there is an opinion that should only test public functions and if you can't then your app is designed incorrectly, not separated enough.
For me I test the private functions individually (WhiteBox/Java reflection) because the public one is like generateReport and as a whole is like a Pachinko machine, too many unique paths that would need a test case for.
So thoughts? Yes sorry for turning it into a remake I guess...24 -
Deep learning
I thought it would be a great course, learn some of the stuff that I always read about but couldn't understand jackshit, and maybe profit form it somehow.
I'm in my last assignment, they want us to pick some SNLI paper and implement, ok, so I find this one with the least amount of params because I thought hey this seems promising.
And boy what a ride it was, I implemented it using PyTorch, the results are way off, I read the paper again and rewrite some parts, still nothing, I get 79%, it's supposed to be 85%, and no matter how I try, nothing.
10 GitHub repos later, 40 hours of complete meltdown,
20 throwaway Google accounts using colab because we don't have GPUs in our uni and using AWS is not feasible.
Same shit, I'm at loss, the world is a lie, and I fell for it...
Fuck.2 -
Getting serious about the website. backed up my images, and this is my starting point.
https://parkcitymedia.github.io
gonna make it more of a portfolio-ish display on the main page. figuring out where i'd like to implement navigation and other such stuff - time to actually sit down and learn some js! -
i am so fucking conflicted right now. seeing my fiture getting ruined in front of my present eyes. Life always gives me a chance to jump out of a ship that's about to fucking blow , i took it the first time, but this time i missed it for bravery ( and stupidity), and now am sinking alongside this fucking ship
my first job was amazing. decent work, sometimes a lot and sometimes too less. i would learn new things ,interact with people, handle a lot of fuckups . at one point i felt like looking for another opportunity , got one giving 50% hike , so i jumped the ship and sent a resignation letter. the noitice peripd was less, so i enjoyed my days applying to other ships. got even a better offer with 100% hike, so from one boat to another to now a literal cruise.
later i got to know that my original company got bankrupt and fired 85% staff. the next month the company that gave me the first offer layed off 30% staff.
now the waters are tough and my cruise is also getting impacted. but instead of firing, they are asking us to come to the office permanently. their office is in a fucked up place: you need 8$ just to breath the fucking air there. its the city of blood and money. and you will be giving away both things there.
my brain got split into 2 parts after this announcement: my stupid self was still considering this while my sensible self started applying for jobs. my stupid self was thinking that this is a great opportunity to leave my fucking nest of a home , where i am liv8ng woth my parents for last 25 years, and learn to live alone. clean utensils, cook food , wash clothes... i wanted to live the life the harsh way.
but life still took a pity on the fool that j am and gave me an opportunity. an opportunity to work with a big brand who hasn't done any layoffs in their 40+ yrs of existence (but also known for giving shit increments)
the offer was just a 40% hike but it was near my home. i could be in office in 1 hr in less than a dollar a day and still earn more than what am earning now.
plus my notice period is now 60 days , so who knows what other offer i could have got in those 60 days ( when i would keep my profile with a big green "immediately available to hire" circle on me.
however this time i didn't jump the boat. i asked them for a bigger raisez they declined and my stupid self was more than happy.
now the company has started to send mails regarding relocation and yepp the cruise is sinking , atleast for me. if i was savingsx in this company, my savings would become x/8 if i go to that city. in the new offer it would have at worst remained x.
and that's not even half of what's bothering me. i had accepted the money loss in exchange of what that city and my company had to offer : a chance to experience WFO, a chance to live life like a mature man and not a kid in his mom's house ,and a life full of hurdles and strangers.
however i always like to keep an emergency fallback mechanism on me , for if things don't work out. I don't wanna go depressed and cut my wrists there, I don't want people to hurt me so much that I can't recover. i want to run away from that wreched city the moment i start to loose the battles there and the city starts taking over me.
but what the holy fuck? my company's notice period is 60 days, and my rented room's security deposit is 6 fucking months? i will be giving 6 months of deposit + 1 month of brokerage + 1month of rent on the first day i put my steps on that wretched land after travelling in a 100 dollar flight! where am i supposed to get this much money?!
and okay, somehow i manage this. say i did an 11 months agreement, paid the fucking 8 months of rent at one go and simply started living a shitty life there. in month 2 i break down and wanted to implement my escape mechanism. it would go like this : i will suck up and try to live for rent free for next 6 months. but wait, THAT'S NOT FUCKING ALLOWED!! iam supposed to get my security AFTER 11+1 MONTHS!! why not freaking adjust it in my rent?
I can't think straight . 6 months of security deposit has blown my brain. i am regretting anything and everything. I can't think of my roommates situation, home safety, room location, whatever the fucks we think while looking for a room . all i can think is ...WHY SO MUCH MONEY NEEDS TO GO AT ONCE!?
FUCK1