AboutComputer science student trying to keep his passion of programming alive. It's been hard.
SkillsI have no idea what I like anymore
Joined devRant on 12/12/2019
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Made a dockerfile for a reproducible build environment today. It's been a few months since I had this much fun working, so refreshing.
This counts as devops right? In that case I might take a better look at devops sometime in the near future, I think I might like it. I just did it out of necessity (didn't want to bloat my system with build tools and sdks) but I ended up liking it. For some reason devops seems exceedingly boring to me, which prevented me from looking into it until now, let's see if I can overcome my laziness and learn it.4
I was taking a look at my past rants and I came across this one from not so long ago: https://devrant.com/rants/3646525/...
TL;DR: I said I was happy about my new internship because I was going to work on backend and it had pretty good pay for an intern. I also mentioned it was too good to be true, so there had to be a catch.
Welp, after almost 4 months, here's how the "great" job is going:
- Even though I was hired as a backend developer, I basically just did mobile for 2 months and a half and now I've been doing web frontend for the past month.
- I found out I'm actually being underpaid (like, at best I'm earning 50% of what I should).
I can't complain much though, it's my first job ever and I got it at the 2nd semester in CS without prior professional experience. But still, it's not very motivating seeing friends that started learning programming from scratch a year ago and are already being paid more...
Luckily my contract ends in two months and then I'll finally be able to start studying quantum computing and hopefully (in time) I'll be able to write simple "quantum algorithms" or whatever the hell they're called. I also have some projects I want to make (especially one that involves learning C++ 😋).1
Did I ever say I love my PM? He's fucking awesome.
In the summer I got an internship at this company and the PM had plans to turn me into a permanent employee, junior position I assume. I told him I'd need a month after school started to see how things went with school and the job at the same time. In the end I decided I couldn't work full-time because I don't have time for it. Also, I want to explore a bit the CS field and see if there's anything else I like (quantum computing and low level programming are at the top of my list), so I decided I won't be renewing my contract as an intern either.
Last week I went into a call with my PM to tell him about all of this and I did not expect the response I got. He actually thinks I'm doing right and supported me in my decision to learn other things. I didn't expect this kind of response at all and it made me feel much, much better (I was pretty nervous to tell him). He also told me that if I want to work on something else in order to learn I just have to ask (I currently do web dev).
But that's not all. He gives us, developers, space to work and doesn't micromanage us. He has technical understanding, doesn't force deadlines on us and understands that sometimes things take longer than expected. He is just great and I'm kind of sad I'll be leaving this job because he's awesome and (from what I read here on devrant) that seems to be pretty rare.
Anyways, that's it, no anger or anything today, I just wanted to say I like my PM very much.4
Bad dev habit: using a bazillion console.log/println like a caveman instead of using a proper debugger.9
I've been using go for two days and I'm already pissed at it. Don't get me wrong, I like the language itself, I love the simplicity, the tooling and frameworks are the problem. Like, why does everything have to be so hard?
Why do I have to spend around 4 hours in total just to configure a fucking linter?
Why does everything have to live inside the fucking GOPATH?
Why the fuck can't I put a src/ folder in my project so I don't mix code with config files, docker files, etc?
Why the hell does documentation for frameworks/libraries/tools suck so much? Looking at you Gin and Gorm.
Why can't gin-swagger just find out what routes I have?
I must be either dumb or chosen the wrong frameworks and libraries, but the "development experience" I'm having sucks. Nothing works first try and documentation is shit and vague.
I want to like the language, but I can't, at least not if it's always going to be shit like this. Does it get better? Am I just a noob? Or should I just jump ship and look for something else?4
Like, I get it, js makes it easier to find developers and speeds up development, but writing a compiler to run on node? That doesn't make any sense to me. Typescript is taking ~11s to compile a medium-sized project, out of which ~9s are just type-checking (if I disable type-checking it takes ~2s to compile). Even Rust, which is considered to have a slow compiler (because of the borrow checker I assume) takes less time to compile a project of roughly the same size.
This is getting very irritating. If I want to keep type-checking, every single time I make a change on a single file I have to wait 11s before any tests start running. This was heavily affecting my productivity (and sanity), so I decided to disable type-checking and threw out the window 90% of Typescript's advantages.
Why the hell wasn't typescript written in an actually performant language? Just so you could say that typescript is written in itself? I don't get it, I really don't.15
"How about we don't do it this way because I have undone what you did and have redone it in a stupid way and if we have to do it the correct way we'll have to undo MY work, so let's just keep it like it is, ok?"
Really? And one of your arguments is "because it's working now", bitch it was working before, you just didn't read my code.
I'll give you the benefit of the doubt though, I don't think you did this on purpose, you were tired yesterday, I get it. But still, could've talked to me before deleting all my code.
I'm not that mad though, I got paid the same and still found a nice pattern I can use on my own future projects, it just won't be used at work.
I kinda hate my life right now.
I hate my job: I've been working as a flutter developer for a month and a half (even though I was hired to do backend) and I discovered I don't like frontend, it doesn't give me enough challenges. Every once in a while I have to do something complicated and have fun working, but most of the time it's just boring layout shit.
I can't do any side-projects, everything bores me. I want to get into really low level programming so bad but the steep learning curve makes me lazy.
I don't feel like I'm doing enough. I'm learning quite a bit about flutter, but I don't want to work with that, I hate it, so I feel like I'm just wasting my time. I'd like to work on something complicated and meaningful, like developing flight systems for rockets or whatever, but there's sooo much road ahead of me I just feel like I'm never gonna make it, plus I have to be very smart to do that and I'm starting to think I'm not as smart as I thought I was. I've been programming for almost 10 years now, but I can already see my college friends getting practically on my level in 2-3 years. I can't let that happen and this thought is making me stressed and burning me out. Programming is literally the only thing I'm good at (or at least I think I am), if I don't have that I don't have anything, because I suck at everything else (I'm not exaggerating, I wish I was though).
I can't see friends because of the corona. I've met with friends about 7 times in a year and I havent been with a girl god knows since when. Meanwhile, practically everyone I know is partying, having fun, going to the beach and I'm here, at home, typing this fucking rant and feeling sorry for myself.
I also wanto to get fit but every time I try to do so something happens and I have to wait 2 months in order to start again.
There isn't anyone I can trust enough to share some feelings and thoughts I have and this is eating me up.
I am unhappy and have been like this for a while now. Every once in a while I smile, yes, but most of my day is endless boredom either because of work or the lack of it. I just want to go back to normal, I don't want to think about my future, I want someone to talk to, I want to be able to cry.
I hate this.19
Coworker: let's use Result monads in the project so that we're forced to deal with exceptions
Me: okay, sounds great!
Me: *implements Result monads *everywhere**
Coworer: how about we don't use results anymore in half the project? It makes the code look ugly. Let's just use exceptions.
Really? Why in your mind is it okay to only force us to handle a few exceptions and others we can just say fuck it and let them wander around?
Oh you want to use try-catch for these other exceptions.
So now we're back at square one, which is trying to remember/figure out which exceptions any method can throw (since the compiler doesn't do shit, not even warnings), but now we also have inconsistent and much less readable code. Isn't it great?
I also can't do much about it, because I'm just a fucking intern and I do not want to cause trouble, so I just try to say that I disagree with it in the most polite of ways and that's that.4
If you received an offer for a new job and asked your current boss for a raise to match the new offer, would you tell him/her the real amount or would you inflate it by ~5-10% (or any other arbitrary amount)?
Would that be considered negotiating in bad faith?
I'm not in this position right now (unfortunately), I'm just genuinely curious about what you all would do in this situation.10
Am I the only one that lives in fear of friends/colleagues finding out I'm on devrant?
I've already deleted a few rants in which I described something that happened between me and someone else in fear that they might find out.16
Why use an Accept header when you can do this, right?
I'm already feeling it, I'm gonna have a great time with this API15
Coworker wanted to explain something to me on a discord call just when I grabbed a bowl of milk and cereal.
It's all soft and mushy now 😔
On another note, today was my first day on the job 😁3
Today I decided to turn an RFC5545 RRULE implementation I had made a few months back for a project in Rust into a cargo package, it would have made a fine addition to my portfolio since I was positive some people would find it useful. Turns out someone else had the same idea as me around the same time I did, but already published a package with it and, worst of all, the dude seems to have made it better than I ever could.
Welp, guess I'll just throw my code away, use his package in my project and maybe contribute a bit to it if I find any issues.
Me: I know it sounds cool in theory, but it sucks in practice, trust me
Friend: no way, dynamically typed languages are the future
*Friend installs node*
*Friend writes a simple script*
*Friend gets undefined errors because of a few typos and has a hard time debugging it*
"Where an expression’s main job is to produce a value, a statement’s job is to produce an effect."
That's the cleanest way of explaining the difference between expressions and statements I've ever seen. Kudos to you, Bob.
craftinginterpreters.com if anyone's interested.2
I have some good, no, great news I forgot to share yesterday:
Drum roll 🥁🥁🥁🥁
I just got my first job as an intern!!!
I'll be developing their product from scratch along with a few other devs, it's gonna be awesome. My primary occupation will be as a backend dev, but I'm also gonna help a bit on the frontend.
They also said they won't micro manage me, they just want me to deliver their tasks, so I can work whenever I want and not necessarily 6 hours a day. I'm a bit skeptical here because that sounds like they're gonna overwork me, but they also said they don't want to get in the way of my studies in college, so idk. It seems like a really nice place.
It's going to be remote work and the pay is also very good for an internship.
All of it seems way too good to be true, there has to be a catch... I'll find out in time, just let me be happy for getting my first actual job ever ok? Just for a few days.
Anyways, I'm just so fucking happy with this and wanted to share it with ya :)7
Fucking useless bots.
I need a bit of help in getting some documents from my University, so I go into their site and they have a WhatsApp support number. Perfect, I think to myself. So I send them a message with my question and a fucking bot answers me with a list of categories for my question, none of them matching my question. So I answer the "Other" option and it just sends me a FAQ link. Like what the actual fuck? I contacted the fucking number because I need help from a damn human, not a fucking FAQ link you useless waste of server resources.2
Fucking hell everything in java is so annoying, confusing and hard to get working. I just want to use JavaFX, why do you require me to sacrifice a lamb in order to do so? It might be my fault though, but c'mon, I don't want to spend 2-3 hours reading through shitty documentation in order to understand how maven works and what the hell Gradle is. Why can't it be as simple as adding a module name to a config file, like in Rust's Cargo? Even using intellij to acquire JavaFX and set it as a dependency doesn't work, it gives me some weird "JavaFX not configured" bullshit error. What the fuck, you're a library, you shouldn't need anything else ffs6
Want to know again how it felt like when programming for the first time? Learn Prolog, it fucking twists your brain inside out. It's pretty cool tho, very very challenging.3
So I'm basically fucked.
There's a major bug on an SPA I developed for a client, but I can't reproduce it because I don't have a recent iPhone or iPad (the only ones I have a way too old and either way I can't debug them without a mac) and I can't reproduce the bug on my android.
To overcome this in the past I installed a hackintosh on my pc and used it's iphone emulator, but I fucked it up and had to reinstall all my OSs but was too lazy to reinstall macos. Now I don't remember how to install it anymore, idk where I downloaded the fucking mojave virtual box image and the macos bootable usb stick I have just doesn't work anymore (probably some missing kext or whatever).
I really do not know what I'm gonna do. There's this ios-webkit-debug-proxy thing that might help me, but it just looks like it's a hassle to install and since I don't know what I'm doing the chances of it working are pretty slim. I might try that but I'm fairly confident it won't work. And even if it does, I still can't install chrome on the iphone I own because it's too old and my dad probably won't let me upgrade it to a new version.13
I bring you all another gem from my computer science course, this time from my OOP class.
The first assignment we made for this class was a simple CLI shop, where you would have basically three main classes:
- A Product class that you extend to create different types of products.
- A Cart class that manages a list of products (basically an ArrayList<Product>) and has some useful methods
- A CLI class to display a simple interface to the user and call methods on a Cart.
Basic OOP stuff, so far so good.
Then for our second assignment the teacher asked us to make Cart a generic class, where you would say Cart<Bagel> and you would only be able to put bagels in it. This makes absolutely no fucking sense, this is not a good use case for generic types since
1) you would never limit your customer's cart to one type of product at compile time.
2) in Cart, you have to cast the generic type to Product to extract any information from the product, like when getting product prices to calculate the total price, so might as well use a fucking ArrayList<Product>
I'm just saying what he's asking us to do has (to our fictional shop's business logic) absolutely no advantage over subtyping.
Also, why the fuck teach generic constraints when you can just tell your students "just cast T to Product", right?
Like fucking hell, couldn't you spend like 10min to come up with a decent assignment that actually teaches generic types the right way? ffs
And just so no one can say "but wut simple assignment would you give to teach students generic types?", here's a simple and much, much better alternative: implementing your own ArrayList. Done. Can't get much better than that, it's a legit use case and teaches you the basics.
Sorry man, you're a great person, you really are, but you suck as a teacher.3
Just lost like half an hour debugging an issue because I was using .pop() to get the last element of an array, but not intending to remove the element from the array. I wish typescript had immutable references... Rust kinda spoiled me there.2
I'm tired but I don't want to go to sleep because I'm working on a pretty complex algorithm and, even though I'm writing the cleanest code I can with lots of comments, I feel it's going to be a pain in the butt to understand what's going on tomorrow