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 - "so much for actually learning"
-
29-year veteran here. Began programming professionally in 1990, writing BASIC applications for an 8-bit Apple II+ computer. Learned Pascal, C, Clipper, COBOL. Ironic side-story: back then, my university colleagues and I used to make fun of old COBOL programmers. Fortunately, I never had to actually work with the language, but the knowledge allowed me to qualify for a decent job position, back in '92.
For a while, I worked with an IBM mainframe, using REXX and EXEC2 scripting languages for the VM/SP operating system. Then I began programming for the web, wrote my first dynamic web applications with cgi-bin shell and Perl scripts. Used the little-known IBM Net.Data scripting language. I finally learned PHP and settled with it for many, many years.
I always wanted to be a programmer. As a kid I dreamed of being like Kevin Flynn, of TRON - create world famous videogames and live upstairs my own arcade place! Later on, at some point, I was disappointed, I questioned my skills, I thought I should do more, I let other people's expectations make feel bad. Then I finally realized I actually enjoy a quieter, simpler life. And I made peace with it.
I'm now like the old programmers I used to mock 30 years ago. There's so much shit inside my brain. And everything seems so damn complex these days. Frameworks, package managers, transpilers, layers and more layers of code. I try to keep up. And the more I learn, the more it seems I don't know.
Sometimes I feel tired. Yet, I still enjoy creating things and solving problems with programming. I still have fun learning. And after all these years, I learned to be proud of my work, even if it didn't turn out to be as glamorous as in the movies.30 -
Its that time of the morning again where I get nothing done and moan about the past ... thats right its practiseSafeHex's most incompetent co-worker!!!
Today I'd like to tell you the story of "i". Interesting about "I" is that he was actually a colleague of yesterdays nominee "G" (and was present at the "java interface" video call, and agreed with G!): https://devrant.com/rants/1152317/...
"I" was the spearhead of a project to end all projects in that company. It was suppose to be a cross-platform thing but ended up only working for iOS. It was actually quite similar to this: https://jasonette.com/ (so similar i'm convinced G / I were part of this but I can't find their github ID's in it).
To briefly explain the above + what they built ... this is the worst piece of shit you can imagine ... and thats a pretty strong statement looking back at the rest of this series so far!
"I" thought this would solve all of our problems of having to build similar-ish apps for multiple customers by letting us re-use more code / UI across apps. His main solution, was every developers favourite part of writing code. I mean how often do you sit back and say:
"God damn I wish more of this development revolved around passing strings back and forth. Screw autocomplete, enums and typed classes / variables, I want more code / variables inside strings in this library!"
Yes thats right, the main part of this bullshittery was putting your entire app, into JSON, into a string and downloading it over http ... what could possibly go wrong!
Some of my issues were:
- Everything was a string, meaning we had no autocomplete. Every type and property had to be remembered and spelled perfectly.
- Everything was a string so we had no way to cmd + click / ctrl + click something to see somethings definition.
- Everything was a string so any business logic methods had to be remembered, all possible overloaded versions, no hints at param types no nothing.
- There was no specific tooling for any of this, it was literally open up xcode, create a json file and start writing strings.
- We couldn't use any of the native UI builders ... cause strings!
- We couldn't use any of the native UI layout constructs and we had to use these god awful custom layout managers, with a weird CSS feel to them.
What angered me a lot was their insistence that "You can download a new app over http and it will update instantly" ... except you can't because you can't download new business logic only UI. So its a new app, but must do 100% exactly the same thing as before.
His other achievements include:
- Deciding he didn't like apple's viewController and navigationBar classes and built his own, which was great when iOS 7 was released (changed the UI to allow drawing under the status bar) and we had no access to any of apples new code or methods, meaning everything had to be re-built from scratch.
- On my first week, my manager noticed he fucked up the login error handling on the app I was taking over. He noticed this as I was about to leave for the evening. I stayed so we could call him (he was in an earlier timezone). Rather than deal with his fucked up, he convinced the manager it would be a "great learning experience" for me to do it ... and stay in late ... while he goes home early.
- He once argued with me in front of the CEO, that his frankenstein cross-platform stuff was the right choice and that my way of using apples storyboards (and well thought out code) wasn't appropriate. So I challenged him to prove it, we got 2 clients who needed similar apps, we each did it our own way. He went 8 man weeks over, I came in 2 days under and his got slated in the app store for poor performance / issues. #result.
But rather than let it die he practically sucked off the CEO to let him improve the cross platform tooling instead.
... in that office you couldn't swing a cat without hitting a retard.
Having had to spend a lot more time working with him and more closely than most of the other nominees, at a minimum "I" is on the top of my list for needing a good punch in the face. Not for being an idiot (which he is), not for ruining so much (which he did), but for just being such an arrogant bastard about it all, despite constant failure.
Will "I" make it to most incompetent? Theres some pretty stiff competition so far
Tune in later for more practiceSafeHex's most incompetent co-worker!!!6 -
> works ass off on a senior project
> 75/100
> classmates buy their projects
> 85+/100undefined gonna murder my teacher might as well buy your diploma corruption so much for actually learning35 -
toxic workplace; leaving
I haven't wanted to write this rant. I haven't even wanted to talk to anyone (save my gf, ofc). I've just been silently fuming.
I wrote a much longer rant going into far too much detail, but none of that is relevant, so I deleted it and wrote this shorter (believe it or not) version instead. And then added in more details because details.
------
On Tuesday, as every Tuesday, I had a conference call with the rest of the company. For various, mostly stupid reasons, the boss yelled at and insulted me for twenty minutes straight in front of everyone, telling me how i'm disorganized, forgetful, how can't manage my time, can't manage myself let alone others, how I don't have my priorities straight, etc. He told the sales team to get off the call, and then proceeded to yell and chew at me for another twenty minutes in front of the frontend contractor about basically the same things. The call was 53 minutes, and he spent 40 minutes of it telling me how terrible I've been. No exaggeration, no spin. The issues? I didn't respond to an email (it got lost in my ever-filling inbox), and I didn't push a very minor update last week (untested and straight to prod, ofc). (Side note: he's yelled at me for ~15 minutes before for being horribly disorganized and unable to keep up on Trello -- because I had a single card in the wrong column. One card, out of 60+ over two boards. Never mind that most have time estimates, project tags, details, linked to cards on his boards, columns for project/qa/released, labels for deferred, released to / rejected from qa, finished, in production, are ordered by priority, .... Yep. I'm totes disorganized.)
Anyway, I spent most of conference call writing "Go fuck yourself," "Choke on a cat and die asshole," "Shit code, low pay, and broken promises. what a prize position," etc. or flipping him off under the camera on our conference-turn-video-call (switched due to connection issues, because ofc video is more stable than audio-only in his mind).
I'm just.
so, so done.
I did nothing the rest of the day on Tuesday, and basically just played games on Wednesday. I did one small ticket -- a cert replacement since that was to expire the next day -- but the rest was just playing CrossCode. (fun game, fyi; totally recommend.)
Today? It's 3:30pm and I can't be bothered to do anything. I have an "urgent" project to finish by Monday, literally "to give [random third party sales guy] a small win". Total actual wording. I was to drop all other tasks (even the expiring cert lol) and give this guy his small win. fucking whatever. But the project deals with decent code -- it's a minor extension to the first project I did for the company (see my much earlier rants), back when I was actually applying myself and learning something (everything) new, enjoying myself, and architecting+writing my own code. So I might actually do the project, but It's been two days and I haven't even opened single file yet.
But yeah. This place is total and complete shit. Dealing with the asshole reminds me of dealing with my parents while growing up, and that's a subject I don't want to broach -- far too many toxic memories.
So, I'm quitting as soon as I find something new.
and with luck, this will be before assface hires my replacement-to-be, and who will hopefully quit as soon as s/he sees the abysmal codebase. With even more luck, the asshole king himself will get to watch his company die due to horrible mismanagement. (though ofc he'll never attribute it to himself. whatever.)
I just never want to see or think about him again.
(nor this fetid landfill of a codebase. bleh.)
With luck, this will be one of my last rants about this toxic waste dump and its king of the pile.
Fourty fucking minutes, what the fuck.33 -
Lads, I will be real with you: some of you show absolute contempt to the actual academic study of the field.
In a previous rant from another ranter it was thrown up and about the question for finding a binary search implementation.
Asking a senior in the field of software engineering and computer science such question should be a simple answer, specifically depending on the type of job application in question. Specially if you are applying as a SENIOR.
I am tired of this strange self-learner mentality that those that have a degree or a deep grasp of these fundamental concepts are somewhat beneath you because you learned to push out a website using the New Boston tutorials on youtube. FOR every field THAT MATTERS a license or degree is hold in high regards.
"Oh I didn't go to school, shit is for suckers, but I learned how to chop people up and kinda fix it from some tutorials on youtube" <---- try that for a medical position.
"Nah it's cool, I can fix your breaks, learned how to do it by reading blogs on the internet" <--- maintenance shop
"Sure can write the controller processing code for that boing plane! Just got done with a low level tutorial on some websites! what can go wrong!"
(The same goes for military devices which in the past have actually killed mfkers in the U.S)
Just recently a series of people were sent to jail because of a bug in software. Industries NEED to make sure a mfker has aaaall of the bells and whistles needed for running and creating software.
During my masters degree, it fucking FASCINATED me how many mfkers were absolutely completely NEW to the concept of testing code, some of them with years in the field.
And I know what you are thinking "fuck you, I am fucking awesome" <--- I AM SURE YOU BLOODY WELL ARE but we live in a planet with billions of people and millions of them have fallen through the cracks into software related positions as well as complete degrees, the degree at LEAST has a SPECTACULAR barrier of entry during that intro to Algos and DS that a lot of bitches fail.
NOTE: NOT knowing the ABSTRACTIONS over the tools that we use WILL eventually bite you in the ASS because you do not fucking KNOW how these are implemented internally.
Why do you think compiler designers, kernel designers and embedded developers make the BANK they made? Because they don't know memory efficient ways of deploying a product with minimal overhead without proper data structures and algorithmic thinking? NOT EVERYTHING IS SHITTY WEB DEVELOPMENT
SO, if a mfker talks shit about a so called SENIOR for not knowing that the first mamase mamasa bloody simple as shit algorithm THROWN at you in the first 10 pages of an algo and ds book, then y'all should be offended at the mkfer saying that he is a SENIOR, because these SENIORS are the same mfkers that try to at one point in time teach other people.
These SENIORS are the same mfkers that left me a FUCKING HORRIBLE AND USELESS MESS OF SPAGHETTI CODE
Specially to most PHP developers (my main area) y'all would have been well motherfucking served in learning how not to forLoop the fuck out of tables consisting of over 50k interconnected records, WHAT THE FUCK
"LeaRniNG tHiS iS noT neeDed!!" yes IT fucking IS
being able to code a binary search (in that example) from scratch lets me know fucking EXACTLY how well your thought process is when facing a hard challenge, knowing the basemotherfucking case of a LinkedList will damn well make you understand WHAT is going on with your abstractions as to not fucking violate memory constraints, this-shit-is-important.
So, will your royal majesties at least for the sake of completeness look into a couple of very well made youtube or book tutorials concerning the topic?
You can code an entire website, fine as shit, you will get tested by my ass in terms of security and best practices, run these questions now, and it very motherfucking well be as efficient as I think it should be(I HIRE, NOT YOU, or your fucking blog posts concerning how much MY degree was not needed, oh and btw, MY degree is what made sure I was able to make SUCH decissions)
This will make a loooooooot of mfkers salty, don't worry, I will still accept you as an interview candidate, but if you think you are good enough without a degree, or better than me (has happened, told that to my face by a candidate) then get fucking ready to receive a question concerning: BASIC FUCKING COMPUTER SCIENCE TOPICS
* gays away into the night53 -
So I've been looking for a Linux sysadmin job for a while now. I get a lot of rejections daily and I don't mind that because they can give me feedback as for what I am doing wrong. But do you know what really FUCKING grinds my FUCKING gears?
BEING REJECTED BASED ON LEVEL OF EDUCATION/NOT HAVING CERTIFICATIONS FOR CERTAIN STUFF. Yes, I get that you can't blindly hire anyone and that you have to filter people out but at least LOOK AT THEIR FUCKING SKILLSET.
I did MBO level (the highest sub level though) as study which is considered to be the lowest education level in my country. lowest education level meaning that it's mostly focused on learning through doing things rather than just learning theory.
Why the actual FUCK is that, for some fucking reason, supposed to be a 'lower level' than HBO or Uni? (low to high in my country: MBO, HBO, Uni). Just because I learn better by doing shit instead of solely focusing on the theory and not doing much else does NOT FUCKING MEAN THAT I AM DUMBER OR LESS EDUCATED ON A SUBJECT.
So in the last couple of months, I've literally had rejections with reasons like
- 'Sorry but we require HBO level as people with this level can analyze stuff better in general which is required for this job.'. - Well then go fuck yourself. Just because I have a lower level of education doesn't FUCKING mean that I can't analyze shit at a 'lower level' than people who've done HBO.
- 'You don't seem to have a certificate for linux server management so it's a no go, sorry!' - Kindly go FUCK yourself. Give me a couple of barebones Debian servers and let me install a whole setup including load balancers, proxies if fucking neccesary, firewalls, web servers, FUCKING Samba servers, YOU FUCKING NAME IT. YES, I CAN DO THAT BUT SOLELY BECAUSE I DON'T HAVE THAT FUCKING CERTIFICATE APPEARANTLY MEANS THAT I AM TOO INCOMPETENT TO DO THAT?! Yes. I get that you have to filter shit but GUESS WHAT. IT'S RIGHT THERE IN MY FUCKING RESUME.
- 'Sorry but due to this role being related to cyber security, we can't hire anyone lower than HBO.' - OH SO YOUR LEVEL OF EDUCATION DEFINES HOW GOOD YOU ARE/CAN BE AT CYBER SECURITY RELATED STUFF? ARE YOU MOTHERFUCKING RETARDED? I HAVE BEEN DOING SHIT RELATED TO CYBER SECURITY SINCE I WAS 14-15 FUCKiNG YEARS OLD. I AM FAMILIAR WITH LOADS OF TOOLS/HACKING TECHNIQUES/PENTESTING/DEFENSIVE/OFFENSIVE SECURITY AND SO ON AND YOU ARE TELLING ME THAT I NEED A HIGHER LEVEL OF FUCKING EDUCATION?!?!? GO FUCKING FUCK YOURSELF.
And I can go on like this for a while. I wish some companies I come across would actually look at skills instead of (only) study levels and certifications. Those other companies can go FUCK THEMSELVES.39 -
Fuck javascript
Fuck css
Fuck even html
And fuck web dev in general.
i can't do this shit anymore.
i've been working in web for ~2.5 years, 4 different companies, countless frameworks, technologies and tools and it feels good having that kind of knowledge and ability to do anything in this field, but god damn. I'm exhausted of "moving pixels" most of the time.
And i know, maybe different company and position would better suit me, but how often do people hire pure breed back-enders ? not that often, at least not in my country. Everyone has to do everything. And even then, php/sql/sysadmin/devops work doesn't motivate me as much. I need something that would make me actually think.
And so i decided to change my specialty, i'm going to follow my long lived dream - game dev (C++) :)
Oh i know, i'm not naive. I know how difficult and hard it is, but it seems like i've finally matured for it. So i've been waking up at 5 a.m and learning for ~3 hours before work for a few weeks now, and plan to go part-time at my work, after a few months (need to save up some money) for ~6 months, to focus on C++
Then hopefully i'll be able to land a junior position. If not, well, i wouldn't be a problem solver if i let that get to me :)14 -
I think the coolest project I did was a few years ago, it was actually a Minecraft plugin.
I decided to learn Java for Minecraft, and a few months after I started learning Java, I was approached by someone who'd like to work with me to create this full-blown Gun Game style gamemode for Minecraft. I made it clear I didn't have the most knowledge, but I was willing to learn.
We began working on the project, the projects main class was bigger than any project I had worked on. Within a few months, it became one of the more popular plugins out there, even though we were still in an alpha mode. Had nearly 1,000 servers running the plugin, over 10k+ players total testing out the plugin.
Cause of this project, I learnt how to properly organize my code, how to make it efficient, learnt how to network, learned how to properly secure and verify anything being sent by the client, working with dependencies, adding features that can support a bunch of other plugins that other developers had, and a bunch more.
Sadly we couldn't finish the plugin anymore, so we gave someone else the source code who has kept it updated to this day. (I know I didn't provide much insight into what I'm saying and just gave a general overview, got a killer headache.)2 -
Insecure... My laptop disk is encrypted, but I'm using a fairly weak password. 🤔
Oh, you mean psychological.
Working at a startup in crisis time. Might lose my job if the company goes under.
I'm a Tech lead, Senior Backender, DB admin, Debugger, Solutions Architect, PR reviewer.
In practice, that means zero portfolio. Truth be told, I can sniff out issues with your code, but can't code features for shit. I really just don't have the patience to actually BUILD things.
I'm pretty much the town fool who angrily yells at managers for being dumb, rolls his eyes when he finds hacky code, then disappears into his cave to repair and refactor the mess other people made.
I totally suck at interviews, unless the interviewer really loves comparing Haskell's & Rust's type systems, or something equally useless.
I'm grumpy, hedonistic and brutally straight forward. Some coworkers call me "refreshing" and "direct but reasonable", others "barely tolerable" or even "fundamentally unlikable".
I'm not sure if they actually mean it, or are just messing with me, but by noon I'm either too deep into code, or too much under influence of cognac & LSD, wearing too little clothing, having interesting conversations WITH instead of AT the coffee machine, to still care about what other humans think.
There have been moments where I coded for 72 hours straight to fix a severe issue, and I would take a bullet to save this company from going under... But there have also been days where I called my boss a "A malicious tumor, slowly infecting all departments and draining the life out of the company with his cancerous ideas" — to his face.
I count myself lucky to still have a very well paying job, where many others are struggling to pay bills or have lost their income completely.
But I realize I'm really not that easy to work with... Over time, I've recruited a team of compatible psychopaths and misfits, from a Ukranian ex-military explosives expert & brilliant DB admin to a Nigerian crossfitting gay autist devops weeb, to a tiny alcoholic French machine learning fanatic, to the paranoid "how much keef is there in my beard" architecture lead who is convinced covid-19 is linked to the disappearance of MH370 and looks like he bathes in pig manure.
So... I would really hate to ever have to look for a new employer.
I would really hate to ever lose my protective human meat shield... I mean, my "team".
I feel like, despite having worked to get my Karma deep into the red by calling people all kinds of rude things, things are really quite sweet for me.
I'm fucking terrified that this peak could be temporary, that there's a giant ravine waiting for me, to remind me that life is a ruthless bitch and that all the good things were totally undeserved.
Ah well, might as well stay in character...
*taunts fate with a raised middlefinger*13 -
Fuck code.org. Fuck code. Not code code, but "code" (the word "code"). I hate it. At least for teaching. Devs can use it as much as they want, they know what it means and know you can't hack facebook with 10 seconds of furiously typing "code" into a terminal. What the fuck are you thinking when you want me to hack facebook? No, when I program, it's not opening terminal, changing to green text and typing "hack <insert website name here, if none is given, this will result to facebook.com>" Can you just shut the fuck up about how you think that because you can change the font in google fucking docs you have the right to tell me what code can and can't do? No, fuck you. Now to my main point, fuck "code" (the string). It's an overused word, and it's nothing but a buzzword (to non devs, you guys know what you're talking about. how many times have you seen someone think they are a genius when they here the word "code"?) People who don't know shit don't call themselves programmers or devs, they call themselves coders. Why? It fucking sounds cool, and I won't deny that, but the way it's talked about in movies, by people, (fucking) code.org, etc, just makes people too much of a bitch for me to handle. I want everyone reading this rant who has friends who respect the fact that YOU know code (I truly believe everyone on devRant does), how it works, and it's/your limitations, AND that it takes hard work and effort, to thank god right now. If you're stuck with some people like me, I feel you. Never say "code" near them again. Say "program." I really hate people who think they know what an HTML tag is and go around calling themselves coders. Now onto my main point, code.org. FUCK IT. CAN YOU STOP RUINING MY FUCKING AP CS CLASS. NO CODE.ORG, I DON'T NEED TO WATCH YOUR TEN GODDAMN VIDEOS ON HOW TECHNOLOGY IS IMPORTANT, <sarcasm>I'VE BEEN LIVING UNDER A ROCK FOR THIRTY YEARS</sarcasm>. DO I REALLY NEED ANOTHER COPY OF SCRATCH? WAIT, NO, SCRATCH WAS BETTER. YOU HAD FUCKING MICROSOFT, GOOGLE, AND OTHER TECHNOLOGICAL GIANTS AND YOU FUCKED UP SO BAD YOU MADE IT WORSE THAT SCRATCH. JUST LETMECODE (yes I said that) AND STOP TALKING ABOUT HOW SOME IRRELEVANT ROBOT ARM DEVELOPED BY MIT IS USING AI AND MACHINE LEARNING TO MAKE SOME ROBOT EVOLVE?! IF YOU SPEND ONE MORE SECOND SAYING "INNOVATION" I'LL SHOVE THAT PRINT STATEMENT YOU HAVE A SYNTAX ERROR UP YOUR ASS. DON'T GET ME FUCKING STARTED ON HOW ITS IMPOSSIBLE TO DO ANYTHING FOR YOURSELF WHEN YOUR GETTING ALL THE ANSWERS WITHOUT DOING ANY WORK AND THE FACT THAT JAVASCRIPT IS YOUR FUCKING LANGUAGE. <sarcasm>GREAT IDEA, LETS GET THESE NEW PROGRAMMERS INTO A PROFESSIONAL ENVOIRMENT BY ADDING A DRAG AND DROP CODE (obviously we can say it) EDITOR</sarcasm> MAYBE IF YOU GOT THIS SHIT UP YOUR ASS AND TO YOUR BRAIN YOU'D ACTUALLY GET TO PRPGRAMMING IN YOUR ADVANCED AP COURSE. ITS CALLED FUCKING CODE.ORG FOR A REASON32
-
> Root struggles with her ticket
> Boss struggles too
> Also: random thoughts about this job
I've been sick lately, and it's the kind of sick where I'm exhausted all day, every day (infuriatingly, except at night). While tired, I can't think, so I can't really work, but I'm during my probationary period at work, so I've still been doing my best -- which, honestly, is pretty shit right now.
My current project involves legal agreements, and changing agent authorization methods (written, telephone recording, or letting the user click a link). Each of these, and depending on the type of transaction, requires a different legal agreement. And the logic and structure surrounding these is intricate and confusing to follow. I've been struggling through this and the project's ever-expanding scope for weeks, and specifically the agreements logic for the past few days. I've felt embarrassed and guilty for making so little progress, and that (and a bunch of other things) are making me depressed.
Today, I finally gave up and asked my boss for help. We had an hour and a half call where we worked through it together (at 6pm...). Despite having written quite a bit of the code and tests, he was often saying things like "How is this not working? This doesn't make any sense." So I don't feel quite so bad now.
I knew the code was complex and sprawling and unintuitive, but seeing one of its authors struggling too was really cathartic.
On an unrelated note, I asked the most senior dev (a Macintosh Lisa dev) why everything was using strings instead of symbols (in Rails) since symbols are much faster. That got him looking into the benchmarks, and he found that symbols are about twice as fast (for his minimal test, anyway), and he suggested we switch to those. His word is gold; mine is ignorable. kind of annoying. but anyway, he further went into optimizing the lookup of a giant array of strings, and discovered bsearch. (it's a divide-and-conquer lookup). and here I am wondering why they didn't implement it that way to begin with. 🙄
I don't think I'm learning much here, except how to work with a "mature" codebase. To take a page from @Rutee07, I think "mature" here means the same as in porn: not something you ever want ot see or think about.
I mean, I'm learning other things, too, like how to delegate methods from one model to another, but I have yet to see why you would want to. Every use of it I've explored thus far has just complicated things, like delegating methods on a child of a 1:n relation to the parent. Which child? How does that work? No bloody clue! but it does, somehow, after I copy/pasted a bunch of esoteric legacy bs and fussed with it enough.
I feel like once I get a good grasp of the various payment wrappers, verification/anti-fraud integration, and per-business fraud rules I'll have learned most of what they can offer. Specifically those because I had written a baby version of them at a previous job (Hell), and was trying to architect exactly what this company already has built.
I like a few things about this company. I like my boss. I like the remote work. I like the code reviews. I like the pay. I like the office and some socializing twice a year.
But I don't like the codebase. at all. and I don't have any friends here. My boss is friendly, but he's not a friend. I feel like my last boss (both bosses) were, or could have been if I was more social. But here? I feel alone. I'm assigned work, and my boss is friendly when talking about work, but that's all he's there for. Out of the two female devs I work with, one basically just ignores me, and the other only ever talks about work in ways I can barely understand, and she's a little pushy, and just... really irritating. The "senior" devs (in quotes because they're honestly not amazing) just don't have time, which i understand. but at the same time... i don't have *anyone* to talk to. It really sucks.
I'm not happy here.
I miss my last job.
But the reason I left that one is because this job allows me to move and work remotely. I got a counter-offer from them exactly matching my current job, sans the code reviews. but we haven't moved yet. and if I leave and go back there without having moved, it'll look like i just abandoned them. and that's the last thing I want them to think.
So, I'm stuck here for awhile.
not that it's a bad thing, but i'm feeling overwhelmed and stressed. and it's just not a good fit. but maybe I'll actually start learning things. and I suppose that's also why I took the job.
So, ever onward, I guess.
It would just be nice if I could take some of the happy along with me.7 -
To those that think they can't make it.
To those that are put down by those that don't understand you.
And to those that have never had a dream come true.
Not a rant, but the story of how I got into programming
I've always been into tech/electronics. I remember being told once that when I was 3, I used to take plug sockets to pieces. When I was 7, I built a computer with my dad.
There isn't a thing in my room that hasn't been dismantled and put back together again. Except for the things that weren't put back together again ;)
When I was 15, I got a phone for Christmas. It was a pretty crappy phone, the LG P350 (optimus ME). But I loved it all the same.
However I knew it could do a lot more. It ran a bloated, slow version of Android 2.2.
So I went searching, how can I make it faster, how to make it do more. And I found a huge community around Android ROMs. Obviously the first thing I did was flashed this ROM. Sure, there were bugs, but I was instantly in love with it. My phone was freed.
From there I went on to exploring what else can be done.
I wanted to learn how to script, so over the weekend I wrote a 1000 line batch (Windows cmd) script that would root the phone and flash a recovery environment onto it. Pretty basic. Lots of switch statements, but I was proud of it. I'd achieved something. It wasn't new to the world, but it was my first experience at programming.
But it wasn't enough, I needed more.
So I set out to actually building the roms. I installed Linux. I wanted to learn how to utilise Linux better, so I rewrote my script in bash.
By this time, I'd joined a team for developing on similar spec'd phones. Without the funds to by new devices, we began working on more radical projects.
Between us, we ported newer kernels to our devices. We rebased much of the chipset drivers onto newer equivalents to add new features.
And then..
Well, it was exam season. I was suffering from personal issues (which I will not detail), and that, with the work on Android, I ended up failing the exams.
I still passed, but not to the level I expected.
So I gave up on school, and went head first into a new kind of development. "continue doing what you love. You'll make it" is what I told myself.
I found python by contributing to an IRC bot. I learnt it by reading the codebase. Anything I didn't understand, I researched. Anything I wanted to do, google was there to help me through it.
Then it was exam season again. Even though I'd given up on school, I was still going. It was easier to stay in than do anything about it.
A few weeks before the exams, I had a panic attack. I was behind on coursework, and I knew I would do poorly on exams.
So I dropped out.
I was disappointed, my family was disappointed.
So I did the only thing I felt I could do. I set out to get a job as a developer.
At this stage, I'd not done anything special. So I started aiming bigger. Contributing to projects maintained by Sony and Google, learning from them. Building my own projects to assist with my old Android friends.
I managed to land a contract, however due to the stresses at home, I had to drop it after a month.
Everything was going well, I felt ready to get a full time job as a developer, after 2 years of experience in the community.
Then I had to wake up.
Unfortunately, my advisors (I was a job seeker at the time) didn't understand the potential of learning to be a developer. With them, it's "university for a skilled job".
They see the word "computer" on a CV, they instantly say "tech support".
I played ball, I did what I could for them. But they'd always put me down, saying I wasn't good enough, that I'd never get a job.
I hated them. I'd row with them every other day.
By God, I would prove them wrong.
And then I found them. Or, to be more precise, they found me. A startup in London got in contact with me. They seemed like decent people. I spoke with their developers, and they knew their stuff, these were people that I can learn from.
I travelled 4 hours to go for an interview, then 4 hours back.
When I got the email saying they'd move me to London, I was over the moon.
I did exactly what everyone was telling me I couldn't do.
1.5 years later, I'm still working with them. We all respect each other, and we all learn from each other.
I'm ever grateful to them for taking a shot with me. I had no professional experience, and I was by no means the most skilled individual they interviewed.
Many people have a dream. I won't lie, I once dreamed of working at Google. But after the journey I've been through, I wouldn't have where I am now any other way. Though, in time, I wish to share this dream with another.
I hope that all of you reach your dreams too.
Sorry for the long post. The details are brief, but there are only 5k characters ;)23 -
Hesitated for a while before posting this, as I don't like to whine in public but this should be therapeutical
Beware, it's a #longread
Years ago, I thought about how cool it'd be to have conversation-based interactive fiction on my phone. I remember showing early prototypes to my ex in 2012. It took me over 2 years to build up the courage to make it my priority and to take time off. FictionBurgers.com was born.
A few weeks in, a friend of mine forwarded me a link to Lifeline. I was devastated. I literally spent 2 days cursing my past self for not making a move sooner.
I soldiered on, worked 7 months straight on it. Now the tech is 90-95% finished, content is maybe 60% finished and I just... gave up. Every other week now, similar projects are popping up. I'm under-staffed and under-financed compared to them. Beyond the entertainment space, "conversation-based" is hot stuff in 2016, and I still can't seem to know what to do with what I have.
I feel like I had this fantastic opportunity and squandered it, which makes me miserable.
Anyway, just so you get some cheese with my whine, here are a few lessons I learned the hard way:
Lesson #1 : Don't go it alone. I thought I could hack it, and for over 7 months, I did. But sooner or later, shit gets to you, it's just human. That's when you need someone; just so that their highs compensate your lows and vice versa. Most of the actual writing was done by a freelancer (and he did AMAZING WORK, especially considering that I couldn't pay him much) but it's not the same as a partner, who's invested same as you.
Lesson #1.5 : Complementary skills. Just like my fiction project failed because I was missing a writer partner, my fallback plan of getting into conversational tech hit the skids for lack of a bizdev partner. It's great to stick among devs when ranting, but you need to mingle with a variety of people. Some of them are actually ok, y'know :)
Lesson #2 : Lean Startup, MVP. Google those terms if you're not familiar with them. My mistake here (after MVPing the shit out of the tech) was to let my content goal run amok : what made my app superior to the competition (or so I reasoned) was that it would allow for conversations with multiple characters! So I started plotting a story... with 9 characters. Not 2 or 3. NINE FREAKING CHARACTERS! Branching conversations with 9 characters is the stuff of nightmare -- and is the main reason I gave up.
Lesson #3 : Know your reasons. I wasted some much time early on, zig-zaging between objectives:
"I'm just indulging myself"
"No, I really want it to be a project that pays off"
"Nah, it's just a learning opportunity"
"Damn, why is it bothering me so much that someone else is doing the same thing ?"
"Doesn't matter, I just mine finished"
"What a waste of time !!"
etc etc
And it's still a problem now that I'm trying to figure out what to do!
So anyway, that's my story, thanks for readin'
Check out chatty.im/player/sugar-wars if you want to test the most advance version.
Also, I've also tagged this #startupfail, if any of you fine people want to share the lessons you've dearly paid to learn!13 -
So I'm on stack overflow trying to give back to the community that has helped me so much yanno.
So I see a question and decide to answer it but I'm on my mobile and trying to write a well formatted etc. answer is a bit tricky so instead I thought I would answer it as best I could on the phone so at least the OP would be going in the right direction and then when I got back to my computer, I would expand on the answer.
But before I had a chance (within 10 minutes of answering) some 200k+ rep dickhead decided it was his job to tell me how bad I was for not giving a proper answer and i have enough rep to comment and I should know better.
So I responded to him (my first mistake) and told him that my answer was intended to get him going and most likely he wouldn't need any more help but that I was going to update it when I got back to my computer.
Well he didn't like that and continued to berate me for my unbelievable behavior.
I then said that if he was that upset, then report me, or even better how about he actually answer the question instead of being a fuckwit to others that have tried.
I also said that I thought that SO and development in general was not about being given the answer but by finding it yourself and actually learning something and that sometimes you need to be pushed it the right direction to find the answer which is what I did here.
Well he disagreed with that too and downvoted my answer which by that point had been updated (like I said I would).
I just don't get it, what is wrong with these people and why has SO become such a toxic place?
I want to give back to the community and help others like people have done for me over the years, but then fuckheads like this just ruin it and make you not want to be a part of it anymore.
Then I come here to devRant and everyone is so nice to each other, you can see the respect.10 -
FLOYD IS HERE 😎
Gather around kids, it's story time.
So my first breakup left me so damaged and I was in darkest phase of my life. I was alone. Physically, mentally, and emotionally. I went for therapy and spearheaded into success and grew in life soooo fucking much.
31st December 2016, I first joined dR and since the first day this place felt home. Met some of brightest mind and most amazing souls here (sadly many left the place).
I used to shit post and rant a lot. But I loved everyone here. But then I don't quite remember, but I decided to quit this place as community started to grow. Many others left as well.
I came back here in 2019 IIRC and started all over again. Got along well with new members and started having fun.
I used to crib and cry about being underpaid. Lost a kickass Europe job due to pandemic.
I will skip what all happened between me and @Scout but she is a sweetheart, though very rough and brutal with me at times (actually very often), but she is so selfish for me and cares for me that I couldn't resist but listen to her always. A lifelong friend for sure :)
I used to rant about my dumb office colleagues. Definitely not the sharpest minds but good people at heart (which I did not realise).
So in October 2020, I earned a new job and my company retained me with a 100% raise and a promotion making me lead of product innovation and UX.
November end I met a girl in professional context on LinkedIn who was conducting a workshop. Being hungry for learning, meeting new people and kill my lockdown boredom, I singed up.
Now I went for December break and my colleagues sent me a gift hamper when they came to know I got a promotion. I felt bad that I ranted about them so I deleted my account and also wanted a social detox.
Post the workshop, I started conversing casually with the girl I met. She was married. But things hit off. Eventually in February end I confessed that I had feelings for her and in next few days she reciprocated. I told her I was aware of her marital status and it's okay if nothing happens between us. Then she started to open up of how she was with one guy for 17 years and was abused in everyway and wanted to separate but never had the courage and all.
She decided to file for paperwork and then be with me. Things got messy when her family got involved thinking I was causing all of it.
She went back to her partner and I realised I had some emotional and mental issues of a person's past that bothered me. But we were overcoming it. Soon the honeymoon period started phasing out.
Her family started giving me death threats. We went underground even further. More arguments and fights between us.
@Scout kept telling me I was stupid and I disregarded her. I feel like an idiot for not listening to her.
That girl kept gaslighting me, hurting me intentionally, scratching the surface made me realise how broken and damaged she was. She lied to me and created fake persona of herself to make me fall for her. Everything was lie. Literally.
I felt horrible for trusting her. My trauma relapsed and I started having crazy panic attacks leading to self harm and being suicidal. That girl was drugged all the time with psychological medicines and very poor character & personality in general (I don't want to judge anyone but just stating the facts).
Eventually she just disappeared and I was like fuck this. Earlier, after every fight, she used to show fake affection and I used to melt but not this time.
I was like fuck this shit. I have some super amazing friends like @kiki who helped me overcome this. I started going for therapy and realised what all areas I need to improve. My therapist is soooo brilliant, she understands the root cause instantly and also knows how to fix it. And the same day I and both my parents were COVID-19 positive. Last few weeks were dark and haunting.
Further more, the girl comes back after a week and then acts as a 'nice girl'.
Initially fake affection, then drama, followed by making me guilt trip, then threats, and now blaming me.
I kept ignoring her calls (50 to 70 calls in a day), emails, left her unread on Telegram, and everything I could do to ignore her without blocking her. I started gaining my happiness back.
During this mess, I lost 5+ KG of weight. She has no friends in her mid 30s. Knows no life or survival skills. Her family hates her, no career, no emotional or mental maturity, literally nothing. Insanely dumb and toxic manipulative person who is not even worth being called an ex. As per her everyone around her is an asshole except her. Every time something happened, she used to blame and bad mouth the other person. Now she is doing with me. In all her life situations, either she was a hero or a victim. One upped me all the time. Now that I see it, I hate myself for allowing it all of it and now having enough self worth to walk out of it earlier.
Continued in comments...61 -
When I'm tired, I can't do a damned thing. If it takes effort or concentration, I'm useless. Games are just frustrating. If it's something enjoyable, I simply can't care enough to enjoy it. If I read a book, I can't focus on the words, and won't remember anything I read. If its mindless like watching Netflix, I won't remember the next day, or rather I'll remember just enough to ruin it for myself.
So why not sleep?
Because I've been feeling like this every day, all day long for months. No, that vile liquid called coffee doesn't help. If I rest my eyes and stop thinking for a few minutes, I wake up a little and can function normally for a minute or two before passing out again. I'm not depressed, or at least I don't think I am. I feel like my brain died or got replaced with a lizard's.
And this sucks because I'm still during the probation period at work, and learning the sprawling and intricate codebase is actually challenging. And they're giving me large tickets because I was a dummy and impressed them too much.
Idk what's wrong with me, but I hope it stops soon.
I miss being able to think and plan and do anything besides just struggle to stay awake. 😞16 -
I have got a new director at work. My previous director had to retire already, the man was already feeling it and he had been on the institution for more than 35 years....I am 30, so this tells you how much the man has been there.
This new dude.....has the presence of a Caterprie (Pokemon) or an Oompa Loompa. In contrast, the previous director felt like a 4 star General (never been in the presence of a 5 star since those occurrences are world war rare) but I had respected that man so much and loved working with him. I really did loved my boss, he was stern and professional, but kind and friendly to his staff, fiercely protective, no one took advantage of I.T while he was there, he would literally fight for us and took our word before anything else. The man was, well, a true man. A true leader.
He took a chance in putting me as the head of my department, but he had faith in me, and coached me and trained me as much as he could. Had the requirement for his position not been a masters he himself told me that he would have loved to make me his successor, even when I would constantly tell him that I was scared shitless of the work he did and the amount of things he did for the institution, to me this is a very laaaaaaaaarge cowboy hat to fill (this is Texas, he wore a hat, the saying is normally "shoes to fill", but fuck it)
This new guys looks away when the other managers are speaking to him. He constantly interrupts us. He constantly tells us about how the other institution in which he was (rival might I add) does X or Y, its fucking annoying to the point that me and the other managers have a drinking game, for every time he references his old institution we drink one beer over the weekend. It is Saturday night and I am 36 in in total (this is my favorite part of it tho) and it is just annoying.
His train of thought makes no sense to me:
"This application, where did you buy it? we tried purchasing one on Y when I was still there but found none"
Me: "Well, since it was a new government mandate and had nowhere to go we had to develop it in house"
Him: "We had tried to purchase what you guys had but found no place that sold it, so why didn't you try purchasing it?"
Me:.....well, because it was brand new, purchase it from where? We also don't like dealing with vendors that manage these sorts of things because every new requirement takes them weeks to produce on very high budgets, historically, my department has only had maintenance fees for the software that we have and even those applications crap themselves all the time and they take weeks to answer back to us.
Him: So you decided to develop it in house instead? we would never do that! back at y we purchased everything our engineers never really developed anything!
Me: Well then, what is the purpose of having engineers if they are not going to actually develop an application?
Him: IF there is something out there that is better then why should you reinvent the wheel?
Me: For this one I did not reinvent the wheel, I am not talking about creating a programming language from scratch, but how does custom solutions that specifically feed the needs of the institution to be produced otherwise? The department has developers for a reason, because they have very specific needs in here that can only come from a team of developers that are in house satisfying those needs.
Him: Well our engineers never had to do that. Sure projects sometimes had to put on holds because the vendor was busy, but such is the nature of development
Me: No it is not, the nature of development is to create things, it is one thing for my team to go through bugs and software considerations, it is another for me to not provide a service because some random company is taking two weeks on a $300 dllr an hour contract to put a simple checkbox on a form. If a project fails the board is not going to care that some vendor is not doing their job, they are just going to blame me, if that is the case then I would much rather the blame be actually mine than some sucky third party "developer" also, your engineers where not even engineers, they were people with a degree that purchased things, that's it, please do not compare them to my guys or refer them as engineers in front of me, they are not.
Him: Well, maybe.
MAYBE?!! motherfucker I did not kill myself learning the ins and outs of architecture and software engineering on my own time after my fucking bachelors in C.S for your codeless background ass to tell me MAYBE. My word IS the fucking WORD here, not yours. Fuck me I really dislike this dude's management practices.
The shitty part? He is not a bad person, he is not a bad dude that is out to get us, just a simple minded moron with no place as a leader.
I know leaders, I know what a leader is, this is not one.10 -
It all started in the year 2013.
I was 13 years old back then. I was a fan of Minecraft and so I learned how to setup a bukkit server and ran it. Installing plugins was fun, because I could be a "hacker" and change the configs.
After a while, (~2014), when I was in the 9th grade of elementary school, I saw Unity. A free game engine. Of course, me being a 14 year old I was intrigued and so I downloaded it, made an account and a new project. I had absolutely ZERO knowledge of programming. Didn't even know what languages existed, so i resorted to presets and poorly put together characters + weapons.
After some time fiddling around with Unity, I've gotten a hang of the basics (not programming related).
My actual programming started when I started High School (year 2016). It's a computer engineering school and for the first part of the year, I've learned from my teacher in C# (Console.WriteLine/ReadLine/Loops/Variables). At the second semester I started to gain interest and motivation to program at home. I did the programs we made in school (random number guessing game) but better. Improved it, added colors.
After that, I started developing in Unity - Actually learning something and having the ability to develop something all by myself. It keeps driving me on. In the second year (the year I'm visiting right now) I tought myself HTML, CSS, JavaScript, jQuery, PHP. I'm very happy and also can't wait to discover and learn new things in these languages!
My latest project was an Android application for my father that he asked for (it calculated the price of the 3D print he would make).
// Sorry for the long post!
EDIT: Forgot to add a fun little detail. All my classmates make fun of me because I program so much !
Also: Tabs > Spaces8 -
Hey guys,
this rant will be long again. I'm sorry for any grammar errors or something like that, english isn't my native language. Furthermore I'm actually very sad and not in a good mood.
Why? What happened? Some of you may already know - I'm doing my apprenticeship / education in a smal company.
There I'm learning a lot, I'm developing awesome features directly for the clients, experience of which other in my age (I'm only 19 years old) can only dream.
Working in such a small company is very exhausting, but I love my job, I love programming. I turned my hobby into a profession and I'm very proud of it.
But then there are moments like the last time, when I had to present something for a client - the first presentation was good, the last was a disaster, nothing worked - but I learned from it.
But this time everything is worse than bad - I mean really, really worse than bad.
I've worked the whole week on a cool new feature - I've done everything that it works yesterday, that everything gets done before the deadline of yesterday.
To achieve this I've coded thursday till 10pm ! At home! Friday I tested the whole day everything to ensure that everything is working properly. I fixed several bugs and then at the end of the day everything seems to be working. Even my boss said that it looks good and he thinks that the rollout to all clients will become good and without any issues.
But unfortunately deceived.
Yesterday evening I wrote a long mail to my boss - with a "manual". He was very proud and said that he is confident that everything will work fine. He trusts me completly.
Then, this morning I received a mail from him - nothing works anymore - all clients have issues, everything stays blank - because I've forgotten to ensure that the new feature (a plugin) and its functionality is supported by the device (needs a installation).
First - I was very shoked - but in the same moment I thought - one moment - you've written an if statement, if the plugin is installed - so why the fuck should it broken everything?!
I looked instant to the code via git. This has to be a very bad joke from my boss I thought. But then I saw the fucking bug - I've written:
if(plugin) { // do shit }
but it has to be if(typeof plugin !== 'undefined')
I fucked up everything - due to this fucking mistake. This little piece of shit I've forgotten on one single line fucked up everything. I'm sorry for this mode of expression but I thought - no this can not be true - it must be a bad bad nightmare.
I've tested this so long, every scenario, everything. Worked till the night so it gets finished. No one, no one from my classmates would ever think of working so long. But I did it, because I love my job. I've implemented a check to ensure that the plugin is installed - but implemented it wrong - exactly this line which caused all the errors should prevent exactly this - what an irony of fate.
I've instantly called my boss and apologized for this mistake. The mistake can't be undone. My boss now has to go to all clients to fix it. This will be very expensive...
Oh my goodnes, I just cried.
I'm only working about half a year in this company - they trust me so much - but I'm not perfect - I make mistakes - like everyone else. This time my boss didn't looked over my code, didn't review it, because he trusted me completly - now this happens. I think this destroyed the trust :( I'm so sad.
He only said that we will talk on monday, how we can prevent such things in the feature..
Oh guys, I don't know - I've fucked up everything, we were so overhelmed that everything would work :(
Now I'm the looser who fucked up - because not testing enough - even when I tested it for days, even at home - worked at home - till the night - for free, for nothing - voluntary.
This is the thanks for that.
Thousand good things - but one mistake and you're the little asshole. You - a 19 year old guy, which works since 6 months in a company. A boss which trusts you and don't look over your code. One line which should prevent crashing, crashed everything.
I'm sorry that this rant is so long, I just need to talk to you guys because I'm so sad. Again. This has happend to frequently lately.16 -
FUCK LINUX
now that I have your attention, and you’re probably angry, too, please, even if you don’t read this rant, never use code.org again. now, onto the rant…
god dammit, code.org sucks. I mean, anyone who created it or associates with it should, well, be considered a terrorist. they’re bombing students futures in computer science with false, useless, bullshit information. not to mention, their sponsors like bill gates, mark zuckerburg, and other rich asses, talk in a video about some boring ass shit that is hard to understand for anyone who doesn’t program, and not to mention, they use a fucking five dollar microphone. ear rape. even if you look at a textual version of it, then read the information on it, it’s practically useless because it's so terribly explained, and also useless. ironically enough, they focus on their animations more than their actual explinations, or their students for that matter. the fact that we had to encode a picture in binary, made me about 50% dumber, give or take a 0 or 1. then, we had to do it in hex, which wasn’t really much better, although more realistic I supposed. what's really the most depressing thing about this class is its application in the real world. I've learnt nothing whatsoever that will help me in the real world, or in computer science. I suppose there's two things that may be useful (that I already knew): hex, and that TCP doesn't lose packets. that's it. those two things. five seconds worth of knowledge from the first quarter of the year. the ideas just make me want to throw up. teaching the main ideas of computer science without actually teaching it? one of the teachers (probably a good one) enrolled her students in an online programming course just so they could understand, because the explanations are just so terrible. this is the only [high school] computer science course offered by code.org, and I signed up because it's an AP computer science class (tried to get into AP Java, the day I was supposed to take the test to get into an upper level class, I was told it didn't count as a tech credit). seriously, fuck code.org. it makes you dumber. their 'app lab' environment is pointless, just like everything else. the app lab is basically where you have a set of commands and have to make a dog bark() or a storm trooper miss() [and that's hell when they haven't introduced while loops yet]. the app lab is literally code.org going out of their way to make everything that their students are learning pointless in the real world. seriously, why can't we just use a <canvas> like an ACTUAL PROGRAMMER would do if they were to make a browser game, not use an app engine so slow it would be faster to update windows and android studio each time I run an 'app' in their 'environment'. their excuse is that the skills "transfer over" to the real world. BITCH! IF I DIDN'T KNOW JAVA, AND I WANTED TO MAKE A GAME IN JAVA, I'M NOT GOING TO LEARN PYTHON, THEN "TRANSFER" THE SKILLS I LEARNT, I'M GOING TO LEARN FUCKING JAVA. AND THAT GOES FOR EVER OTHER LANGUAGE, PROJECT, ETC.
I'm begging you code.org, stop, get help.9 -
As a developer, I constantly feel like I'm lagging behind.
Long rant incoming.
Whenever I join a new company or team, I always feel like I'm the worst developer there. No matter how much studying I do, it never seems to be enough.
Feeling inadequate is nothing new for me, I've been struggling with a severe inferiority complex for most of my life. But starting a career as a developer launched that shit into overdrive.
About 10 years ago, I started my college education as a developer. At first things were fine, I felt equal to my peers. It lasted about a day or two, until I saw a guy working on a website in notepad. Nothing too special of course, but back then as a guy whose scripting experience did not go much farther than modifying some .ini files, it blew my mind. It went downhill from there.
What followed were several stressful, yet strangely enjoyable, years in college where I constantly felt like I was lagging behind, even though my grades were acceptable. On top of college stress, I had a number of setbacks, including the fallout of divorcing parents, childhood pets, family and friends dying, little to no money coming in and my mother being in a coma for a few weeks. She's fine now, thankfully.
Through hard work, a bit of luck, and a girlfriend who helped me to study, I managed to graduate college in 2012 and found a starter job as an Asp.Net developer.
My knowledge on the topic was limited, but it was a good learning experience, I had a good mentor and some great colleagues. To teach myself, I launched a programming tutorial channel. All in all, life was good. I had a steady income, a relationship that was already going for a few years, some good friends and I was learning a lot.
Then, 3 months in, I got diagnosed with cancer.
This ruined pretty much everything I had built up so far. I spend the next 6 months in a hospital, going through very rough chemo.
When I got back to working again, my previous Asp.Net position had been (understandably) given to another colleague. While I was grateful to the company that I could come back after such a long absence, the only position available was that of a junior database manager. Not something I studied for and not something I wanted to do each day neither.
Because I was grateful for the company's support, I kept working there for another 12 - 18 months. It didn't go well. The number of times I was able to do C# jobs can be counted on both hands, while new hires got the assignments, I regularly begged my PM for.
On top of that, the stress and anxiety that going through cancer brings comes AFTER the treatment. During the treatment, the only important things were surviving and spending my potentially last days as best as I could. Those months working was spent mostly living in fear and having to come to terms with the fact that my own body tried to kill me. It caused me severe anger issues which in time cost me my relationship and some friendships.
Keeping up to date was hard in these times. I was not honing my developer skills and studying was not something I'd regularly do. 'Why spend all this time working if tomorrow the cancer might come back?'
After much soul-searching, I quit that job and pursued a career in consultancy. At first things went well. There was not a lot to do so I could do a lot of self-study. A month went by like that. Then another. Then about 4 months into the new job, still no work was there to be done. My motivation quickly dwindled.
To recuperate the costs, the company had me do shit jobs which had little to nothing to do with coding like creating labels or writing blogs. Zero coding experience required. Although I was getting a lot of self-study done, my amount of field experience remained pretty much zip.
My prayers asking for work must have been heard because suddenly the sales department started finding clients for me. Unfortunately, as salespeople do, they looked only at my theoretical years of experience, most of which were spent in a hospital or not doing .Net related tasks.
Ka-ching. Here's a developer with four years of experience. Have fun.
Those jobs never went well. My lack of experience was always an issue, no matter how many times I told the salespeople not to exaggerate my experience. In the end, I ended up resigning there too.
After all the issues a consultancy job brings, I went out to find a job I actually wanted to do. I found a .Net job in an area little traffic. I even warned them during my intake that my experience was limited, and I did my very best every day that I worked here.
It didn't help. I still feel like the worst developer on the team, even superseded by someone who took photography in college. Now on Monday, they want me to come in earlier for a talk.
Should I just quit being a developer? I really want to make this work, but it seems like every turn I take, every choice I make, stuff just won't improve. Any suggestions on how I can get out of this psychological hell?6 -
I spent over a decade of my life working with Ada. I've spent almost the same amount of time working with C# and VisualBasic. And I've spent almost six years now with F#. I consider all of these great languages for various reasons, each with their respective problems. As these are mostly mature languages some of the problems were only knowable in hindsight. But Ada was always sort of my baby. I don't really mind extra typing, as at least what I do, reading happens much more than writing, and tab completion has most things only being 3-4 key presses irl. But I'm no zealot, and have been fully aware of deficiencies in the language, just like any language would have. I've had similar feelings of all languages I've worked with, and the .NET/C#/VB/F# guys are excellent with taking suggestions and feedback.
This is not the case with Ada, and this will be my story, since I've no longer decided anonymity is necessary.
First few years learning the language I did what anyone does: you write shit that already exists just to learn. Kept refining it over time, sometimes needing to do entire rewrites. Eventually a few of these wound up being good. Not novel, just good stuff that already existed. Outperforming the leading Ada company in benchmarks kind of good. At the time I was really gung-ho about the language. Would have loved to make Ada development a career. Eventually build up enough of this, as well as a working, but very bad performing compiler, and decide to try to apply for a job at this company. I wasn't worried about the quality of the compiler, as anyone who's seriously worked with Ada knows, the language is remarkably complex with some bizarre rules in dark corners, so a compiler which passes the standards test indicates a very intimate knowledge of the language few can attest to.
I get told they didn't think I would be a good fit for the job, and that they didn't think I should be doing development.
A few months of rapid cycling between hatred and self loathing passes, and then a suicide attempt. I've got past problems which contributed more so than the actual job denial.
So I get better and start working even harder on my shit. Get the performance of my stuff up even better. Don't bother even trying to fix up the compiler, and start researching about text parsing. Do tons of small programs to test things, and wind up learning a lot. I'm starting to notice a lot of languages really surpassing Ada in _quality of life_, with things package managers and repositories for those, as well as social media presence and exhaustive tutorials from the community.
At the time I didn't really get programming language specific package managers (I do now), but I still brought this up to the community. Don't do that. They don't like new ideas. Odd for a language which at the time was so innovative. But social media presence did eventually happen with a Twitter account that is most definitely run by a specific Ada company masquerading as a general Ada advocate. It did occasionally draw interest to neat things from the community, so that's cool.
Since I've been using both VisualStudio and an IDE this Ada company provides, I saw a very jarring quality difference over the years. I'm not gonna say VS is perfect, it's not. But this piece of shit made VS look like a polished streamlined bug free race car designed by expert UX people. It. Was. Bad. Very little features, with little added over the years. Fast forwarding several years, I can find about ten bugs in five minutes each update, and I can't find bugs in the video games I play, so I'm no bug finder. It's just that bad. This from a company providing software for "highly reliable systems"...
So I decide to take a crack at writing an editor extension for VS Code, which I had never even used. It actually went well, and as of this writing it has over 24k downloads, and I've received some great comments from some people over on Twitter about how detailed the highlighting is. Plenty of bespoke advertising the entire time in development, of course.
Never a single word from the community about me.
Around this time I had also started a YouTube channel to provide educational content about the language, since there's very little, except large textbooks which aren't right for everyone. Now keep in mind I had written a compiler which at least was passing the language standards test, so I definitely know the language very well. This is a standard the programmers at these companies will admit very few people understand. YouTube channel met with hate from the community, and overwhelming thanks from newcomers. Never a shout out from the "community" Twitter account. The hate went as far as things like how nothing I say should be listened to because I'm a degenerate Irishman, to things like how the world would have been a better place if I was successful in killing myself (I don't talk much about my mental illness, but it shows up).
I'm strictly a .NET developer now. All code ported.5 -
For those struggling with imposter syndrome, keep a record of your progress.
Break it down into
* used
* learning
* dont need a manual or cheat sheet
* use every day
You can also break it down per project:.
"Project xyz (python: 2 years)"
"Project ijk (js:6 months)".
Etc.
Critically, keep these in something physical, like a notebook or whatever you use *regularly and frequently* to keep notes. That's important because you should be glancing over your progress as a remainder.
Each time you want to add a new line, rewrite your existing progress on a new page, before adding the new line.
So as you flip through the pages you get a large and larger chronological list of your progress, and improvement, and experience.
Add a date to the title for each and a brief note about something that you did or happened on that day or week.
You wont second guess yourself so much once you can see how far you came.
Like at one time I was actually competent at js! (Before I stopped the flash cards anyway).3 -
Worst thing you've seen another dev do? Here is another.
Early into our eCommerce venture, we experienced the normal growing pains.
Part of the learning process was realizing in web development, you should only access data resources on an as-needed basis.
One business object on it's creation would populate db lookups, initialize business rule engines (calling the db), etc.
Initially, this design was fine, no one noticed anything until business started to grow and started to cause problems in other systems (classic scaling problems)
VP wanted a review of the code and recommendations before throwing hardware at the problem (which they already started to do).
Over a month, I started making some aggressive changes by streamlining SQL, moving initialization, and refactoring like a mad man.
Over all page loads were not really affected, but the back-end resources were almost back to pre-eCommerce levels.
The main web developer at the time was not amused and fought my changes as much as she could.
Couple months later the CEO was speaking to everyone about his experience at a trade show when another CEO was complementing him on the changes to our web site.
The site was must faster, pages loaded without any glitches, checkout actually worked the first time, etc.
CEO wanted to thank everyone involved etc..and so on.
About a week later the VP handed out 'Thank You' certificates for the entire web team (only 4 at the time, I was on another team). I was noticeably excluded (not that I cared about a stupid piece of paper, but they also got a pizza lunch...I was much more pissed about that). My boss went to find out what was going on.
MyBoss: "Well, turned out 'Sally' did make all the web site performance improvements."
Me: "Where have you been the past 3 months? 'Sally' is the one who fought all my improvements. All my improvements are still in the production code."
MyBoss: "I'm just the messenger. What would you like me to do? I can buy you a pizza if you want. The team already reviewed the code and they are the ones who gave her the credit."
Me: "That's crap. My comments are all over that code base. I put my initials, date, what I did, why, and what was improved. I put the actual performance improvement numbers in the code!"
MyBoss: "Yea? Weird. That is what 'Tom' said why 'Sally' was put in for a promotion. For her due diligence for documenting the improvements."
Me:"What!? No. Look...lets look at the code"
Open up the file...there it was...*her* initials...the date, what changed, performance improvement numbers, etc.
WTF!
I opened version control and saw that she made one change, the day *after* the CEO thanked everyone and replaced my initials with hers.
She knew the other devs would only look at the current code to see who made the improvements (not bother to look at the code-differences)
MyBoss: "Wow...that's dirty. Best to move on and forget about it. Let them have their little party. Let us grown ups keeping doing the important things."8 -
I had spent the last year working on a online store power by woocommerce with over 100k products from various suppliers. This online store utilized a custom API that would take the various formats that suppliers offer their inventory in and made them consistent. Now everything was going swimmingly initially, but then I began adding more and more products using a plug-in called WP all import. I reached around 100k products and the site would take up to an entire minute to load sometimes timing out. I got desperate so I installed several caching plugins, but to no avail this did not help me. The site was originally only supposed to take three to four months but ended up taking an entire year. Then, just yesterday I found out what went wrong and why this woocommerce website with all of these optimizations was still taking anywhere from 60 to 90 seconds to load, or just timing out entirely. I had initially thought that I needed a beefier server so I moved it to a high CPU digitalocean VM. While this did help a little bit, the site was still very slow and now I had very high CPU usage RAM usage and high disk IO. I was seriously stumped the Apache process was using a high amount of CPU and IO along with MYSQL as well. It wasn't until I started digging deeper into the database that I actually found out what the issue was. As I was loading the site I would run 'show process list' in the SQL terminal, I began to notice a very significant load time for one of the tables, so I went to go and check it out. What I did was I ran a select all query on that particular table just to see how full it was and SQL returned a error saying that I had exceeded the maximum packet size. So I was like okay what the fuck...
So I exited my SQL and re-entered it this time with a higher packet size. I ran a query that would count how many rows were in this particular table and the number came out to being in the millions. I was surprised, and what's worse is that this table belong to a plugin that I had attempted to use early in the development process to cache the site. The plugin was deactivated but apparently it had left PHP files within the wp content directory outside of the actual plugin directory, so it's still executing scripts even though the plugin itself was disabled. Basically every time I would change anything on the site, it would recache the whole thing, and it didn't delete any old records. So 100k+ products caching on saves with no garbage collection... You do the math, it's gonna be a heavy ass database. Not only that but it was serialized data, so when it did pull this metric shit ton of spaghetti from the database, PHP then had to deserialize it. Hence the high ass CPU load. I had caching enabled on the MySQL end of things so that ate the ram. I was really desperate to get this thing running.
Honest to God the main reason why this website took so long was because the load times made it miserable to work on. I just thought that the hardware that I had the site on was inadequate. I had initially started the development on a small Linux VM which apparently wasn't enough, which is why I moved it to digitalocean which also seemed to not be enough, so from there I moved to a dedicated server which still didn't seem to be enough. I was probably a few more 60-second wait times or timeouts from recommending a server cluster to my client who I know would not be willing to purchase it. The client who I promised this site to have completed in 3 months and has waited a year. Seriously, I would tell people the struggles that I would go through with this particular site and they would just tell me to just drop the site; just take the money, just take the loss. I refused to, this was really the only thing that was kicking my ass. I present myself as this high-and-mighty developer like I'm just really good at what I do but then I have this WordPress site that's just beating the shit out of me for a year. It was a very big learning experience and it was also very humbling as well, it made me realize that I really don't know as much as I think I might. It was evidence that there is still so much more to learn out there, I did learn a lot from that experience especially about optimizing websites the different types of methods to do that particular lonely on the server side and I'll be able to utilize this knowledge in the future.
I guess the moral of the story is, never really give up. Ultimately things might get so bad that you're running on hopes and dreams. Those experiences are generally the most humbling. Now I can finally present the site that I am basically a year late on to the client who will be so happy that I did not give up on the project entirely. I'll have experienced this feeling of pure euphoria, and help the small business significantly grow their revenue. Helping others is very fulfilling for me, even at my own expense.
Anyways, gonna stop ranting. Running out of characters. If you're still here... Ty for reading :')7 -
Hey DevRant Fam! Hope everyone is doing very well! Just would like to ask, for awhile now i have been focusing on languages such as c++, C#, Java, and little bit of python the others I mentioned before were mainly from Uni, but I’d like to step out of my comfort zone a little, I’m interested in learning things such as “NodeJS”.
I actually haven’t laid much of a finger on JS so i do not know much, and i also see things such as Nodejs, react are very popular and would like to step my foot in the door, what would you guys suggest and or recommend :-) I’m open to listen to you guys and learn more!.
Hope everyone is doing well wherever you may be!
Thank you 😊
Milo21 -
TL;DR Pluralsight should be ashamed for taking 299 USD a year and writing some very low-quality quizzes.
I've always heard that Pluralsight is a great platform having some high quality courses, so I chose it as a benefit, as our company was giving us some budget for learning purposes. I've paid (or rather the company did it in the end) 299 USD for this year, which, I guess is not much for US standards, but it is a lot for Eastern European standards.
I didn't actually get to the point of watching any of the courses, but I started to use a feature called "Stack up", which is a long series of questions in a specific theme, like Java, Kotlin, C++, etc., accessible once a day. I must say, I'm amazed by the fact, that people pay quite a great amount of money and they get something so poorly made with a lot of errors and stupid questions.
Take the question from the included image for example. Not only that the 2 possible answers are repeated (and thus I failed to select the correct one from 2 equal answers), but the supposedly correct answer is also missing some type specifications. No Java compiler will compile it this way as far as I know. There would be at least 3 ways to fix it.
Then there is today's gem (should be included as first comment) as well, where the answer is wrong in both Chrome 96, Firefox 95 and Node v10. Heck, THIS IS one of the reasons why you should never use `var` in your JavaScript code, but always `let` and `const`!
So the courses on Pluralsight might be good, but I would be ashamed, if I were to release something like this. People might actually try to solidify their knowledge by solving these quizzes but instead of learning something useful, they will be left with some bullshit. I just don't get how could they release a feature with so much incorrect information and I am kind of disappointed, even if I didn't try the courses yet.9 -
== Internship Interview Rant ==
This is the weirdest interview I've been to to be honest because it wasn't really ABOUT ME. It's like the boss is not really interesting in knowing what I can do, what I am capable of doing. He asked me about my educational background for 5 minutes and started explaining about the startup for 45 minutes. He explained how he came up with the idea like it was a children's bedtime story. He explain what the job is, BUT he didn't mention what programming languages they use. All he said was it required knowledge about different programming languages. I tried asking but he seemed to dodge the question for some reason by saying everyone needs to know a little bit of everything. (Srsly i don't even know what to start learning for this) After listening to him talk and talk and talk and talk, he finally said "hey, think about it and send me an email if you are willing to take it up!"
He works with STUDENTS. The team is composed of him and 5 students. o.O They all seem so..... quiet in the office. Is that normal ???? Or like shouldn't everyone be kinda "interactive" sometimes?
So there is a girl working there too for 3 weeks now but SHE IS IN ROMANIA like wtf, gr8 then i guess ill be the only girl there but hey perks of being a girl, u get to be spoiled sometimes XD it happens a lot !
Internship ad ----> Main language: English
Me: *rages internally during the interview and thinks: BRUHH WHY ARENT U SPEAKING IN ENGLISH i prepared what I was gonna say in english for an hour*
I wonder if the code is in english or maybe its not :(( But I wish it were because it would be soooo much easier in english.
And there you go, I guess I have one week to find a better internship or decide to deal with this talkative boss. This isn't exactly a story of my last job cause my last job is totally non-dev related. This is a story of (maybe) my future job unless I actually find a better internship.2 -
them: welcome new project members, this is our CI/CD pipeline which is completely different from the rest of the company, there won't be any great knowledge transfer, we just expect you to be able to know and use everything. but also, we expect you to work on your tasks and don't waste any time.
me: okay, so my tasks aren't going as fast as expected, because I need to invest some learning so i can set up my project correctly.
later: some help would be nice, i'm stuck right now
coworker: *helps me to fix my problems, which were partly due to misconfigured build servers* i know it's a lot, and unfortunately, for this topic sources on the web aren't so good. i can really recommend this book, this will give a deeper understanding of the topic.
me: okay, yeah i mean, tbh, i'll read the book if the project invests some time for me so i can learn everything that's required, but this won't happen. also, some initial workshop on the topic or anything would have been nice.
coworker: well, i mean, i am a software developer. for me, it is normal that i learn all that stuff in my free time. and i think that's what the PM expects from us.
me: okay, that's fine for you, i mean, if i'm interested in a topic, i will invest my private time. but in this case, PM would just expect me to do unpaid labor, to gain knowledge and skills that i can use in this specific project. i'm not willing to do that.
coworker: ...
me: ...
it's not that i don't want to learn. the thing is that there isn't any energy left by the end of the day. i'm actually trying to find some work life balance, because i don't feel balanced right now, haven't felt since i started this job.
also, this is only one of several projects i'm working on. it's like they expect me this project has top priority in my life. if it wasn't so annoying on different levels, maybe i'd have a more positive attitude towards it.
also, at the moment i find it fucking annoying that i have to invest so much time in this dev ops bullshit and this keeps me from doing my actual work.
if they are unhappy with my skills, either they can invest in my learning or kick me out. at this point, either is fine for me..12 -
(I'll give some context before the rant: I'm part if the IT department of a manufacturing company (actually I'm 1/2 of the department), and all the applications (old an new - except the ones used on production line) used in the company are my responsibility, that including most of databases too... Also, English isn't my native language so there will be some words or phrases that I'll probably write wrong... Sorry for that, if there are any corrections, I'll be glad to hear them)
So...
There will be an implementation of new "control point" on the "shipping department" which consists on a electromechanical equipment controlled by a PLC. And despite the original concept was a collaboration between 2 departments (we, IT, and Production Control), I was never taken in consideration about anything of the project... To be fair, I forget about its existence until two weeks ago.
So, a few days I learned that there are a huge delay regarding the original deadline (mainly because the supplier was delayed with the delivery of their system), and since two weeks (less, actually, because some holydays in between) I'm learning how to integrate that "P.o.S" into an existing application on a PC using a serial communication (not the main problem, as I've done that before... With another brand of PLC's) while avoiding buying any additional software (to get the communication done and in a easy way) and that sort of things... But discovering in the process that it will be necessary to acquire such additional SW in order to finish the job ASAP.
When suddenly I get the "news" that it's almost all my duty (and responsibility) to meet the original deadline, because it doesn't matter how the other departments screw all the schedule, it's the job of IT to get the shit done in time... And what is worst: they didn't said that in such straight manner, no, the implied it while making a quick test with the general manager.
I mean, WTF? Besides doing a "respectable" number of "user support" activities in a dialy basis, I also need to manage the activities of other departments? And also fix their screw ups on a schedule that I just learned days before?
And also there is a coworker (one of whom screwed up) that, almost every time she see me, is asking "how much until you'll finish?"
As I read on a meme years ago: "please, give patience, because if you give strength, I'll need bail money too..."
Damn... I don't know of the benefits of this work are worth all this nonsense -
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 -
Let's talk a bit about CA-based SSH and TOFU, because this is really why I hate the guts out of how SSH works by default (TOFU) and why I'm amazed that so few people even know about certificate-based SSH.
So for a while now I've been ogling CA-based SSH to solve the issues with key distribution and replacement. Because SSH does 2-way verification, this is relevant to both the host key (which changes on e.g. reinstallation) and user keys (ever replaced one? Yeah that's the problem).
So in my own network I've signed all my devices' host keys a few days ago (user keys will come later). And it works great! Except... Because I wanted to "do it right straight away" I signed only the ED25519 keys on each host, because IMO that's what all the keys should be using. My user keys use it, and among others the host keys use it too. But not by default, which brings me back to this error message.
If you look closely you'd find that the host key did not actually change. That host hasn't been replaced. What has been replaced however is the key this client got initially (i.e. TOFU at work) and the key it's being presented now. The key it's comparing against is ECDSA, which is one of the host key types you'd find in /etc/ssh. But RSA is the default for user keys so God knows why that one is being served... Anyway, the SSH servers apparently prefer signed keys, so what is being served now is an ED25519 key. And TOFU breaks and generates this atrocity of a warning.
This is peak TOFU at its worst really, and with the CA now replacing it I can't help but think that this is TOFU's last scream into the void, a climax of how terrible it is. Use CA's everyone, it's so much better than this default dumpster fire doing its thing.
PS: yes I know how to solve it. Remove .ssh/known_hosts and put the CA as a known host there instead. This is just to illustrate a point.
Also if you're interested in learning about CA-based SSH, check out https://ibug.io/blog/2019/... and https://dmuth.org/ssh-at-scale-cas-... - these really helped me out when I started deploying the CA-based authentication model.19 -
!rant
Need some opinions. Joined a new company recently (yippee!!!). Just getting to grips with everything at the minute. I'm working on mobile and I will be setting up a new team to take over a project from a remote team. Looking at their iOS and Android code and they are using RxSwift and RxJava in them.
Don't know a whole lot about the Android space yet, but on iOS I did look into Reactive Cocoa at one point, and really didn't like it. Does anyone here use Rx, or have an opinion about them, good or bad? I can learn them myself, i'm not looking for help with that, i'm more interested in opinions on the tools themselves.
My initial view (with a lack of experience in the area):
- I'm not a huge fan of frameworks like this that attempt to change the entire flow or structure of a language / platform. I like using third party libraries, but to me, its excessive to include something like this rather than just learning the in's / out's of the platform. I think the reactive approach has its use cases and i'm not knocking the it all together. I just feel like this is a little bit of forcing a square peg into a round hole. Swift wasn't designed to work like that and a big layer will need to be added in, in order to change it. I would want to see tremendous gains in order to justify it, and frankly I don't see it compared to other approaches.
- I do like the MVVM approach included with it, but i've easily managed to do similar with a handful of protocols that didn't require a new architecture and approach.
- Not sure if this is an RxSwift thing, or just how its implemented here. But all ViewControllers need to be created by using a coordinator first. This really bugs me because it means changing everything again. When I first opened this app, login was being skipped, trying to add it back in by selecting the default storyboard gave me "unwrapping a nil optional" errors, which took a little while to figure out what was going on. This, to me, again is changing too much in the platform that even the basic launching of a screen now needs to be changed. It will be confusing while trying to build a new team who may or may not know the tech.
- I'm concerned about hiring new staff and having to make sure that they know this, can learn it or are even happy to do so.
- I'm concerned about having a decrease in the community size to debug issues. Had horrible experiences with this in the past with hybrid tech.
- I'm concerned with bugs being introduced or patterns being changed in the tool itself. Because it changes and touches everything, it will be a nightmare to rip it out or use something else and we'll be stuck with the issue. This seems to have happened with ReactiveCocoa where they made a change to their approach that seems to have caused a divide in the community, with people splitting off into other tech.
- In this app we have base Swift, with RxSwift and RxCocoa on top, with AlamoFire on top of that, with Moya on that and RxMoya on top again. This to me is too much when only looking at basic screens and networking. I would be concerned that moving to something more complex that we might end up with a tonne of dependencies.
- There seems to be issues with the server (nothing to do with RxSwift) but the errors seem to be getting caught by RxSwift and turned into very vague and difficult to debug console logs. "RxSwift.RxError error 4" is not great. Now again this could be a "way its being used" issue as oppose to an issue with RxSwift itself. But again were back to a big middle layer sitting between me and what I want to access. I've already had issues with login seeming to have 2 states, success or wrong password, meaning its not telling the user whats actually wrong. Now i'm not sure if this is bad dev or bad tools, but I get a sense RxSwift is contributing to it in some fashion, at least in this specific use of it.
I'll leave it there for now, any opinions or advice would be appreciated.question functional programming reactivex java library reactive ios functional swift android rxswift rxjava18 -
Next week I'm starting a new job and I kinda wanted to give you guys an insight into my dev career over the last four years. Hopefully it can give some people some insight into how a career can grow unexpectedly.
While I was finishing up my studies (AI) I decided to talk to one of these recruiters and see what kind of jobs I could get as soon as I would be done. The recruiter immediately found this job with a Java consultancy company that also had a training aspect on the side (four hours of training a week).
In this job I learned a lot about many things. I learned about Spring framework, clean code, cloud deployment, build pipelines, Microservices, message brokers and lots more.
As this was a consultancy company, I was placed at different companies. During my time here I worked on two different projects.
The first was a Microservices project about road traffic data. The company was a mess, and I learned a lot about company politics. I think I never saw anything I built really released in my 16 months there.
I also had to drive 200km every day for this job, which just killed me. And after far too long I was finally moved to the second company, which was much closer.
The second company was a fintech startup funded by a bank. Everything was so much better than the traffic company. There was a very structured release schedule, with a pretty okay scrum implementation. Every team had their own development environment on aws which worked amazingly. I had a lot of fun at this job, with many cool colleagues. And all the smart people around me taught me even more about everything related to working in software engineering.
I quit my job at the consultancy company, and with that at the fintech place, because I got an opportunity I couldn't refuse. My brother was working for Jordan Belfort, the Wolf of Wallstreet, and he said they needed a developer to build a learning platform. So I packed my bags and flew to LA.
The office was just a villa on the beach, next to Jordan's house. The company was quite small and there were actually no real developers. There was a guy who claimed to be the cto of the company, but he actually only knew how to do WordPress and no one had named him cto, which was very interesting.
So I sat down with Jordan and we talked about the platform he wanted to build. I explained how the things he wanted would eventually not be able with WordPress and we needed to really start building software and become a software development company. He agreed and I was set to designing a first iteration of the platform.
Before I knew it I was building the platform part by part, adding features everywhere, setting up analytics, setting up payment flows, monitoring, connecting to Salesforce, setting up build pipelines and setting up the whole aws environment. I had to do everything from frontend to the backest of backends. Luckily I could grow my team a tiny bit after a while, until we were with four. But the other three were still very junior, so I also got the task of training them next to developing.
Still I learned a lot and there's so much more to tell about my time at this company, but let's move forward a bit.
Eventually I had to go back to the Netherlands because of reasons. I still worked a bit for them from over here, but the fun of it was gone without my colleagues around me, so I quit last September.
I noticed I was all burned out, had worked far too much, so I decided to take a few months off and figure out what I wanted to do with my life. I even wondered whether I wanted to stay in programming.
Fast forward to last few weeks. I figured out I actually did want to work in software still, but now I would focus on getting the right working circumstances. No more driving 3 hours every day, no more working 12 hours every day. Just work close to home and find a company with the right values.
So I started sending out resumes and I gave one recruiter the chance to arrange some interviews too. I spoke to 7 companies in the span of one week. And they were all very interested. Eventually I narrowed it down to 2 companies and asked them for offers. And the company that actually had my preference offered me significantly more than I asked for, which settled the deal.
So tomorrow I'm officially signing with them, and starting next week I'll be developing in Kotlin, diving into functional programming and running our code in serverless environments. I'm very excited! -
If you are more interested in “being right” (aka winning an argument) than learning from experiences (both your own and others), then I will not waste my time on you.
Story time:
As a member of a startup accelerator I had the privilege to run into many types of people.
There were 2 entrepreneurs who liked to argue a lot. They would argue not just with other members but with advisors, investors, EIRs, everyone. They were much more interested in “being right” than learning from the experiences of those around them.
They flustered many people, but sometime we would have REALLY seasoned investors or entrepreneurs speak to us. Those folks never got flustered.
I needed to know why...
So I pulled aside one of the bigger investors and asked him why. This was his response.
“I’ve invested and advised on every type of company you can imaging, with every type of entrepreneur. There is a lot to be learned from that experience. But if you are more interested in winning and argument than learning from experiences and creating a good business then you are not worth my time.”
He would give his advice and then go right back to his email for those folks.
Smart
1 of the 2 entrepreneur I mentioned actually turned it around. Once he found out that the investor had invested in and almost identical company in the same space and that they had sold for 100M+ he finally started to listen. You could see him really fighting the urge to argue, but he did it. That guy ended up being successful and is on track growing a company today.
The other guy had no success and is still on the Slack group of the co-working space arguing with anyone who will engage him.
I know which one of those I would want to be.
PS. If this hurts your feeling and you feel like commenting. Feel free. You’ll look very cute.2 -
I did a project once and it came back to haunt me - this is how I got the job I have now:
I was already working for the company, in the second year of my vocational training as an electronics technician when I got a assigned The Project.
In brief, The Project was a kind of measurement automation implemented with some arduinos. I was tinkering with them at the time in my free time so they must've thought 'Hey, great, she can do that, so she can also do The Project!'
Just that I couldn't - after investing nearly a year, getting frustrated because of the lack of time, support, knowledge etc. The Project died quite unceremoniously and I resumed my training normally.
I just wish devRant already existed back then, it'd have made up for some spectacular rants - The Project was fucking nerve-wrecking due to incoherent behaviour by some hardware and I had to battle the whole big, ugly thing more or less alone as an apprentice.
If it hadn't died at the time it did I feel like I would've brutally murdered it with a shovel - that is, if someone actually would've cared enough to buy me a shovel.
But it ended and I let it go.
In the last year of completing this vocational training, my feeling of "This is not enough" and growing boredom with the routines of my future job had manifested. I wanted to go back to university but also continue working at the same time.
I wasn't ready to do freelancing nor did I want to quit at that time - most people there are amazing and I'm still learning much from them - so I asked early for a student position and got one.
And to get some continuity in my work, it wasn't just any student project I was assigned to but The Project. It came back alive, laughing at me, leaving bodies of dead electronics in its wake, after all these years.*
And that's how I got my current job.
*(They asked me if I was OK with it and they dropped the Arduinos and other hardware in exchange for a bit more software. Also I have a team of great engineers which I can ask for help anytime should I get stuck, so I got that going for me which is nice.) -
@Owenvii made a post over at (https://devrant.com/rants/2359774/...) and I want to write a proper response.
The biggest thing you have to look out for as a new dev is the jobs which you accept to begin with.
This isn't minimum wage no more, this is "big league", well, maybe not apple or google big league, but it's not $9.25 an hour either.
Basically you don't want to work anywhere where 1. your labor will be treated as a highly disposable commodity. 2. where the hiring manager doesn't know how to do the job themselves.
The best thing you can do is, if you're new, and just breaking through (and even if you're not), is ask them common questions and problems/solutions that crop up doing the work. If they can answer intelligently that tells you the company values competence (maybe), enough to put someone in place who will know ability from bullshit, merit from mediocrity, and who understands the process of progressing from junior dev to a more involved role.
It also means they are incentivized to hire people who know what they're doing because the training cost of new hires is lowered when they hire people who are actually competent or capable of learning.
Remember, an interview isn't just them learning about you, it's your opportunity to interview *them* and boy, you'll be making a BIG mistake if you don't.
Ideally you want them to ask you to pair program a problem. If your solution is better than theirs then they aren't sending their best to do interviews, and it tells you the company doesn't fire incompetents. The interviewers response can tell you a lot too, if they critique your work, or suggest improvements, and especially if they explain their thinking, that is an amazing response to look for, it says the company values mentorship and *actual* teamwork (not the corporate lingo-bingo 'teamwork' that we sometimes see idolized on posters like so much common dogma).
Most importantly, get them to talk about their work and their team. If they're a professional, it'll be really difficult to pry anything negative about their co-workers out of them, but if they're loose-lipped and gossipy thats a VERY bad sign, regardless of what they have to say.
Ask to take a tour and do a meet n' greet of who you will be working with. If they say no, then it's no thank you to a job offer. You want to take every opportunity to get to know everyone there, everyone you'll be working with, as much as possible--because you'll be spending a LOT of time with these people and you want to rule out any place that employs 'unfireable' toxic assholes, sociopath executives, manipulative ladder climbing narcissists, and vicious misery-loving psychopathic coworkers as quick as possible. This isn't just one warning flag to look out for, it's the essential one. You're looking for the proper *workplace culture*, not the cheesy startup phrase of "workplace culture", but the actual attitudes of the team and the interpersonal dynamics.
Life is really short, and a heart attack at 25 from dipshit coworkers and workplace grief can and will destroy your health, if not your sanity, the older you get.
Trust and believe me when I say no paycheck is too grand to deal with some useless, smarmy, manipulative, or borderline motherfuckers at work constantly. You'll regret it if you do. Don't do it. Do you fucking do it. Just don't.
Take my words to heart and be weary of easy job offers. I'm not saying don't take a good offer that lands in your lap, I AM saying do some investigating and due diligence or the consequences are on you.1 -
!rant // deprecated but who cares
I just wanted to write down something i realized. I realized that that I stopped growing as an individual a while ago.
Being a student put me in constant stress situations. I had to do things quickly. Lern things fast, drop things I don't understand immediately, move on, and repeat. I think this corrupted me, turning learning into something that it's not supposed to be. Even making me reject other people's opinions sometimes, which disgusts me every time I think back to it.
When I started programming I'd always try to read the code, until i completely understood what exactly this code was doing. Something I stopped doing a while ago because of the mentioned time constraints.
But today I got the hit by the consequences (German: Ich hab Retourkutsche abbekommen)
I was implementing an algorithm today, while my partner was writing the main program, which acted as indirect test cases. And the errors were discovered one after another because of my misinterpretation. Or Simply put, my lack of knowledge. Because it was already late, we stopped soon afterwards but I wanted to solve this problem by tomorrow. I really wanted to get my head around this algorithm, so that i could solve it with confidence. After getting my head smoking I felt something I haven't in a while: the feeling of achieving something. Making me finally realize not only how the algorithm was actually meant to work but it also made me again realize what learning is about.
Use your damn head.
Don't look away from the problem, solve it! Learning is about challenging yourself!
Sorry for stealing away so much of your time. Like i said, i just wanted to write this down. Maybe to burn this into my mind, to keep me on the right track from now on. But I also hope that i could deliver my message to someone that needed it as well.
Also it's late and i should have gone to sleep long time ago. 😴😵
I just hope my grammar didn't suffer because I'd that -
I started with C#at the age of 12, it was way too complicated and I learned Lua for Computer craft instead. Next I learned Ruby for RPG Maker and finally Javascript for web Dev stuff.
Now comfortable enought with Javascript but put off by its quirks I learned Java for compiling faulty minecraft mods, but I only fully learned it in school.
At the same time I learned python and quite liked it for scripting, but ultimately it was not a good match for my projects.
Disapointed with Java I returned to C# and liked it quite a lot, but started learning C++. After touching my first Microcontroller I learned C and I've stuck with it as my favorite language.
Along the way I picked up Kotlin, in case I need to do some Java shit. Much better.
But how did I come to an understanding of programming. Well I got better after each time I got a layer deeper until I hit silicon.
I had tinkered with electronics since I was 15 so I just had to study some boolean mathematics in school and some vintage computers architecture and instruction sets and...
Then I finally understood how that shit I wrote in Lua way back when was actually executed by my hardware.
Allways dig deeper and you'll find enlightenment eventually. -
my company uses svn for source control. just found out the guy in charge of the repo actually uses git and just has all developers use svn because "there's less of a learning curve". WHY?!?! Git is so much better!4
-
I know its been quite a while since ive posted last but it is safe to say that i am back! And boy do i have some stuff to bitch about.
This semester, Im taking mobile app development as a class. I chose to take this class over the introductory c# class, so that i wouldn't need to work with Windows or really do anything else to touch Windows. Well the joke is on me. Here i was thinking that we would be using a bit of Java from time to time while only really learning best practices and concepts.
Never did i think that this class's curriculum would be entirely based off of Xamarin.
Seeing as I need either this class or the two c# classes to graduate, I had to bite the bullet and just accept that my semester would be full of irritation during this class.
Its been about seven weeks in, and i have turned in 8 assignments.
All 8 of those assignments have been Windows Form Applications doing simple shit like dividing two numbers.
We have not made anything for multiple devices. We have not made anything for even one mobile device. We have not even discussed how to do this in the class.
This wouldnt bother me so much since these are typically easy programs that take about 30 minutes to make and test and submit for grading. It does insanely bother me, however, that it takes Windows so FUCKING LONG to boot, or when it freezes every 2 minutes because i clicked into another program, or it just HANGS ON THE UPDATING SCREEN AT 36% FOR THREE DAYS, or when it took 4 different reinstallations of Visual Studio 2017 before i could actually open without an error code.
College, Ive learned, tests my patience way more than it has ever tested my knowledge.2 -
For robotics I decided to write a program that would automatically tune a PID loop (a loop with three magic constants that tells you how much power to give the motors).
Being a high school student who hasn't been taught anything about the theory of PID loops or the right way to tune them, I had no clue what I was doing. So instead of actually learning the calculus to do it, I just made an evolutionary tuner that keeps guessing slight variations of the last-best three constants.
Basically, you press start and the robot spins in circles until you come back in 15 minutes.3 -
I can't decide on a linux distro because all I've tried are great. Seriously.
I'd call myself a novice-to-intermediate linux user (heavy on the novice part) and since I work as a web developer it's been a great learning experience to use the same OS on my workstation as the webservers my projects run on. (Ie I started out with Ubuntu and a LAMP setup).
The thing is I distrohop ad infinitum... Feels like I've tried out every desktop environment known to mankind (I just can't stop myself when I see a new one or a new take on an old one) and I've dipped my toes in Arch territory to. Loved Antergos when that still was a thing. Found EndeavourOS this weekend, kernel panic ensued. I'm a noob with sudo and that's never a good thing. 😆 (Try out in a virtual machine first you say? Bah. Where's the fun in that?!)
So now I'm on Linux Mint w Cinnamon because why not. (Because it's sluggish and boring, that's why...) I had to just get something up and running quickly so I could get back to work. 😬
But one day in and I'm realising I actually miss GNOME. And Ubuntu feels like home. I would feel much cooler using Arch but honestly I don't think I can be trusted with it. I love tinkering with settings, look and feel and whatnot but I can honestly do that just as well in an Ubuntu/GNOME environment.
Maybe Pop!_OS... could be something for me. 😏20 -
Drupal makes me want to go back to the moment that life first crawled out of the ocean, and shoot that first land-dwelling organism in the head – just to make sure that the animal kingdom never evolves to the point where a crime as ghastly as Drupal can occur.
Drupal somehow manages to be both unforgivingly, bureaucratically rigid, and an anarchic, spaghetti-coded mess – at the same time. Other frameworks are toolboxes. Drupal is a series of windows at the IRS or MVA – and it *will* take you days to figure out which series of forms you have to submit, with which boxes checked, in order to accomplish your goal.
The documentation is complete and utter trash.
It models content in a way that makes all sorts of assumptions about your use case. And those assumptions don't have anything to do with *how websites are actually designed and built*. In 20 years of building websites, I've never *once* wanted to use anything resembling the bizarre data model that Drupal *forces* you to use. Nor have I ever thought "gee, I wish my platform forced me to stop writing code every 20 seconds, so I can use an atrociously designed point-and-click interface".
I ask the community how to accomplish [insert extremely fucking basic task here], and they say: "well, you just install these 17 modules, glue them together with a bunch of configuration that couples your database to your code, and then shrug at the hideously broken HTML/CSS that comes out, because we give exactly zero shits about UX! isn't it great how Drupal makes things so easy?" Like, no – literally *every other framework on the planet* allows you to accomplish the same thing with just a few lines of code.
Most of the community seems to have little or no experience with other frameworks – so they seem solipsistically unaware that these are even problems. If your platform has been stabbing you in the arm for as long as you've been building websites, then you're just gonna assume that being stabbed in the arm is part of developing websites, you know? They seem oblivious to the fact that things are *so much easier* when your platform just lets you build whatever abstractions you need, instead of forcing its own weird-ass, undocumented assumptions on you.
Uruururrrrrrrggghgh. I can't understand how anyone defends this piece of garbage. If you're a Drupal developer reading this – please, for the love of God, try learning another framework. Once you've spent a couple of weeks learning saner ways of doing things, you'll never look back. I cannot comprehend how Drupal is still a thing.4 -
Def not dev oriented.
I am a huge fan of trading card games. It started with Yu Gi Oh, moved on to Magic, even tried, LoTR when it was a thing, tried algo Star Wars the original CCG (loved it), Duel Masters (when it was still in the U.S) Pokemon (of fucking course) and other more uncommon ones like Cardfight Vanguard, tried latino only games (Mitos y leyendas, Myths & Legends, this one is king on my list) and Flesh & Blood. But as a mexican kid, I was always a fan of fucking dragon ball, like most mexican kids.
SO I bought some cards from the newest game expansion. the owner of the TCG/anime store told me that if I was willing to play that I should hang out on tuesdays.
So, learning the rules of the game, and wanting to play with other people, I went there on a tuesday.
The MTG people were there fighting amongst themselves for some reason. the Pokemon people were there also, just opening packs without playing. A rather large table was there with a bunch of people playing a game that I did not recognize. And then there was me. I was chilling on my phone thinking that the DB dudes would show up eventually. nothing, so I just sat there waiting.
Suddenly a dude comes to the large table and starts pairing people for a "tournament" and once they are all sited he notices that 1 is missing, he walks up to me holding a store app and asks me "sorry bro, are you here to play with us by any chance?" to which I say "I do not think so, I came here for DB but I don't know what you guys are playing"
The dude looks down on his app, somehow actually sad and says "man I do play DB, but I don't think I have my cards with me, maybe, let me see" and he goes on to see if he brought something.
This was green flag n 1. the dude wanted to just play something with someone. And was doing something to not LEAVE someone behind. then quick as hell another says "well, why don't we give him a deck and he can play with us! we can teach him!" and I say "well what are you lads playing?" and he says "digimon man you like the anime? a new release came about! it's sick man it would be awesome if you play!"
Second green flag, another member of that community was happy for the idea of increasing the membership and actively did something to increase the population.
So, I hanged out with them. Close knit group, all friends from a long time, but willing to take an unfamiliar (and rather handsome) face with them.
My face when (MFW) the DB dudes where not there, so the digimon group adopted me.
I know have over.....2000 cards, most of them were gifted to me by them after they saw my chops and tough me how to play, by graciously lending me their decks.
This my lads, is what humanity is about. We got close fast, it has been 2 weeks of just chilling with them at the game lounge, just nice people, all of them really. Not a single angry moment or anything, you pull a crazy combo on them and they legit sheeeeeeeesh and applaud them, they don't care about loosing, they just want to have a good time, and this, this is a good crowd to be at.
Strive to make people feel welcomed. Being nice to others, taking a chance on people you deem to be ok, is fine really. It is rather cool. Anyone can be a salty asshole, but it takes a real king to be nice to others just for the sake of having a good time.
These dudes, they are gold. And I finally have something to take my mind away from work and other things that increase my anxiety and stress. I would much rather be there shooting the shit with the lads and playing games than at home, drinking the night away to relieve stress.
Kings3 -
Tabs, or No Tabs? I did the same as this commentor 2 years ago. I can code so quick now because of this simple switch. Here's why:
(source, Laracasts.com)
Ben Smith
"I think the most beneficial tip was to do away with tabs. Although it took a while to get used to and on many occasions in the first few days I almost switched them back on, it has done wonders for my workflow.
I find it keeps my brain more engaged with the task at hand due to keeping the editor (and my mind) clutter free. Before when I had to refer to a class, I would have opened it in a new tab and then I might have left it open to make it easier to get to again. This would quickly result in a bar full of tabs and navigation around the editor would become slow and my brain would get bogged down keeping track of what was open and which tab it was in. With the removal of the tab bar I'm now able to keep only the key information in my mind and with the ability to quickly switch between recently opened files, I find I haven't lost any of the speed which I initially thought I might.
In fact this is something I have noticed in all areas of writing code, the more proficient I have become with an editor the better the code I have been writing. Any time spent actually writing your code is time in which your brain is disconnected from the problem you are trying to solve. The quicker you are able to implement your ideas in code, the smaller the disconnect becomes. For example, I have recently been learning how to do unit testing and to do so I have been rewriting an old project with tests included. The ability to so quickly refactor has meant that whereas before I might have taken 30 seconds shuffling code around, now I can spend maybe 5 seconds allowing my mind to focus much better on how best to refactor, not on the actual process of doing so."
jeff_way Mod
"Yeah - it takes a little while to get used to the idea of having no tabs. But, I wouldn't go back at this point. It's all about forcing yourself into a faster workflow. If you keep the tabs and the sidebar open, you won't use the keyboard."2 -
My life with C++:
- my first course about coding was an intro to C++ for scientists (I studied physics), because "everybody uses it in the field". I never used it in my life in physics;
- I got back to it this year because I was planning on doing some interesting simulations with it;
- hence, this summer I started learning it again. I took one month to actually follow a structured tutorial so I could get at least slightly proficient for what I needed to build;
- and nothing, after one month without using it, I forgot so much already, and I feel like I'm going back to case one.
...now I remember how I felt as a student, when I was preparing for exams.8 -
My first software.. Okay. So first time I ever attempted was with my father, i was around 8 or so, i remember very little from it, but in nutshell, i somehow ended up at his job having day off school or something, no idea.
Apparently he was bored, so he decided yo show me... Basic. Yep, thats right. Frking basic. Anyway, he shown me some really basic stuff in basic, and pushed the envelope really hard, just trying to force into me more and more in these 8hrs. I started with filling screen with "o" characters. Most of times he was telling me what to write with elaborate explanation why. At the end of the day, we finished with simple maze game where player was "o" and maze walls was #. Without any goal, or anything.
Next day i was at point 0, understood nothing from it except how to handle keystrokes (and belive me, that for me was huge mindblow, and even bigger mindblow that it actually made prefect sense).
I dont remember much, but later i started with father-assisted c++ and some pascal. I immidietly loved c++ but dropped learning it for (NullPointer) reason.
Thats not really project imho, so now time for my actual first project.
It was about time when ARK survival evolved was a fresh thing, i was playing it a lot. Server admin became buddy. We all complained about max level cap, but to change it in config you needed to input whole new xp curve.
At that time i had great familiarity with google and computers, some thought i was some kind of PC god (seriously I heard someone saying so about me lol) just becouse I could ressurect most cases of broken windows. And I had next to zero programming expirience. It was about to change. I made first c++ actual program, that was making xp curve for you. It took me just bearly 2 days and was series of cin, cout, one file open, some maths in loop, and done. Maths was very bad. But i pushed it into steam forums, and one guy responded how.bad my math was, so we colabed on making 2 iteration. Took around week. Than half a year passed and we wanted go big. Go gui. I had no freaking idea how making gui looks like. Community liked my cli tool, we had quite a lot of downloads, why not go GUI. And thats when I discovered QT framework. And we had few features in mind... It took us half a year to make it. From 60 lines of code i jumped into 1k lines of code. We pushed it and immidietly started working on 4th version with much greater customizability etc.
Than i finished 18 and found a job. Job in php. I got it becouse I made this project.
Now project is abandon. This project also gave me a lesson that donations will not feed you.
Edit: and before you think about my father that he was nice person to show me code, trust me, i dont know bigger dick than him. -
First rant that I really want to get out of my chest!
Never hated a job as much as this one. Haven’t done any development/programming related work since I joined. I have been mostly configuring Linux systems for IoT devices. When I get stuck at an issue, it takes me many frustrating nights to figure it out because no one on the team wants to deal with Linux shit… they’d rather be doing real development work (someone actually stated this!). There’s no one else on the team that knows Linux. Even the manager that was supposedly a Linux fanatic can’t even answer some of my questions and if they do, it’s the wrong fucking answer. Joined the company because they sold it as startup team with big money backing. Was excited to learn new technologies, new best software engineering practices, add new programming languages to my resume. But nope, been stuck at configuring Linux systems. At one point I was just pumping out updated Linux images with our updated application for a month straight. I was so excited when a development task was assigned to me a couple weeks back, but guess what?! There were Linux configuration tasks that no one knows how to do or don’t want to look at it, so my one and only fucking development work was swapped out!
And the funny thing is, I barely had any Linux experience when I joined. Why the fuck was I hired?
Man, I even bought books related to Linux programming (application and kernel) before I joined. Those books barely have a crease in them. What a waste.
Now in my free time, I’ve been learning new technologies on my own. Doing my own projects. But damn, I lose a lot of family time. Sorry wifey, I haven’t been paying a lot of attention to you!
But who knows, maybe this experience will have a silver lining in the end.
Thanks for reading :)2 -
!dev
So last week I sort of unfriended a friend from college that i guess is more like a "chat buddy". After college we've never hung out. Part of it maybe because I'm deaf so there's a communication barrier, I lost most college "friends" after that... but then are they really friends?
The reason was though, he talks to me every night (usually 1-2 hrs online chatting on and off), we do have some laughs but recently he's been complaining about his year end bonus, how it's not enough. And also about how he deserves to match with better girls than the ones he's getting now. He's on those online dating sites and went out with a few. And he's been on a few dates but with my looks and health issues, online dating is pretty much useless. He was the only reason I even tried
He makes twice as much as me already but "he comes from a poor background" so he needs more. Honestly I make enough, but the job isn''t great (not really learning anything new, lot's of things that could be better... obviously) but it's very flexible and near where I now live... should I even choose to go into the office (I sort of work remotely from the rest of the team).
I probably haven't spoken too him for a week now and I don't feel problems, frees up more time but wondering if I sort of withdrawing/unanchored from reality and ignoring problems, settling for less.
Nowadays it really feels like, when I'm in my own apartment or just alone, I'm in my own world, I can do whatever I want... thought most of the time is spent with my devices... so I'm not sure though if that's good or not... Am I a Bachelor or a hermit?
Now i've been rambling for the last 1hr and have no idea what I wanted to say.... guess I just needed to rant...
Ah I remember now sorta... Is this relationship worth keeping or should I find new friends that are more similar to me?
Maybe I've been moving in the wrong direction in life... I shouldn't do things the normal way... Think about what's actually important to me/people like me... not what what everyone normally does...1 -
proxying youtube
today I thought writing a quick project, a youtube proxy server, as in, you browse localhost:<PORT> and youtube comes in the response.
this is not rocket science as proxy servers have around for a long time.
I thought it'd be interesting to code it in userland, as opposed to "systemland".
And 50 lines of code and some minor hurdles later I see youtube "running" in localhost.
Although youtube didn't just work as usual since the videos don't actually come from youtube.com, but from googlevideo.com instead. And my browser, expectably, enforces CORS and forbids any requests to it.
At that point I started to think of ways to somehow proxy googlevideo.com too. But the solutions are not at all trivial.
Then I thought what was the payoff of all this. I tried to proxy serve youtube out of curiosity, and sure thing, you can do it.
But what problem would proxying youtube solve? Maybe I should think in a fuller way what are the problems I have with youtube.
One issue I have is the exposure, discoverability. To explain it, let's say I have been watching a very, very big amount of videos as of today.
Personally I would expect youtube to understand very well by now what my tastes are, what do I want to watch and what I do NOT want to watch.
Notice that I am very black and white, and I do not have much interest in watching certain types of videos.
It could be true that if my expectations of how youtube should work became reality then youtube recommendations would become polarizing or echo chambering.
But that is my decision though, and the problem with youtube is that it's seemingly forcing a single recommendations algorithm onto everyone.
Some people are more open minded and want to watch EVERYTHING, and a lot of people don't.
But users aren't deciding what they should get recommended. Youtube is making that decision for them. And it sure feels like it's trying to maximize ad revenue.
I for one don't give two flying fucks about pranks or diva youtubers. Yet youtube is adamant in presenting some of these to me.
Now, trying to come up with a solution for this is really non trivial. It would definitely require some youtube mining, or some kind of network so as to not get rate limited when mining, and even then you still have to think of how a good recommendation system would work.
I think the implementation of all that would be too much for me (time and skill wise). But I think it's fun to at least try to outline how recommendations could work.
I would very much prefer that when youtube recommended something, at least it has some number of confidence meaning how much would I like that video, so at least I know what to expect.
It should also have some indicators like what is the mood of the video. As in, sometimes I watch youtube in the mood of learning, like programming videos, but most of the time I watch to get entertained.
These ideas are just brainstorms and could be terrible on reproduction, but I'd like to hear what ideas can some of the people here can come up with.2 -
I'm close to one year at this company, and so much has changed. the amount of responsibility i have now is insane compared to last year. we'll have an intern this year, so there's gonna be someone learning the ropes from me. I'm having a say in bigger projects , I'm schooling people way over my pay grade, people actually come after me for help now, that's insane. what a fucking year1
-
Actually I have two stories
The first one, that one project I talked about with a big company when I was at school. It wasn't that much coding since it was mostly researching, but it was a big project that seems really interesting, with Image Analysis and Machine Learning.
The projects at school this year got drawn randomly for each group, so when I've been announced that I've been chosen for the biggest project, thinking about every side of the project, I was hyped. And even a year after we finished it, I'm still happy and excited about it.
The second is something a little more funny :
So we got some projects to do during December for school including cryptography. Again, those were randomly drawn (but some can really fuck you up) and I got to do a Password Manager, like KeyPass. We were 4, and we thought we had the time to do it.
But we misread the date. At the end of Christmas break, I got a call of a friend saying that the project is due in two days.
Thing is, one of my three co-workers weren't contactable. And we got nothing.
So I kinda took the lead : I said to one to do the UI, another to do the cryptograph helper, and I'll do the linking and all the behaviour of it.
In two days, I literally spent all the time available on it.
Then first meeting with the teacher for saying what is wrong, where bugs are if they exist, ect. so we can fix the issues and deliver a clean code. They were like only 4 big problems. More is, I fixed them all in like two hours while thinking fixing only one. And we got something like the 2nd or the 3rd best mark of the prom. And everyone congratulated me for that. I got so excited I was able to do that in few time.
But never that again lmao -
I always thought wordpress was ok, not great not terrible, from a coding perspective. Now every new framework I have worked on makes me see why Wordpress is on 40% of the internet.
Now I love wordpress not because of what it did do, but because of all the really stupid things it managed to avoid doing including: over abstraction, trend chasing, using "new transformative technology" that disappears in 2 years, breaking plugin economy with updates and making devs start over, making everything OOP for the sake of making everything OOP, making adding on a bit of code take multiple files of multiple formats and boiler plate code, boiler plate code, compiling dependencies, composer, twig, laravel, one page applications, react, angular, vue, javascript only stacks (MEAN), not letting you control sql queries, protected/private scopes and design that doesn't let you fix or alter bad code others did, and the list goes on and on.
Wordpress did a lot right, and devs should try learning from it instead of making more problems to solve. Sure it's not elegant, but you known what it does do? Focus on a solving a problem. Then it does. Without inventing new ideas or concepts to inject into the code and create new problems.
And you know what else? Hooks are actually very well implemented in Wordpress. I've seen it done much worse.
Honestly my main gripe with the entire platform is a slow moving to OOP for no reason and the database design should separate post type into different tables, the current design makes it less scalable for large data sets for multiple reasons so I'd fix that.5 -
One of our team mates is based out of the US office. We are physically distant, but after our manager's departure, we lost touch because our scope of work was different.
Me and two other team members work closely with each other from India and dude is alone, working out of the US.
Super smart, very polite, and a fun person to work and be with. Even when our interaction was less, I learnt so much from him.
Since, I am facing some challenges, I decide to use it as an excuse to connect with him for a coffee and also seek his guidance because he is senior to me.
Some things he mentioned,
1. Our new line manager asks him to do things on spot with no heads up. He has to drop everything and complete the ask.
2. Often times, poor guy, is asked to join meetings on immediate basis. Even while he is having his lunch.
3. He never got support from our new manager. Infact, based on the conversation, I realised that the manager supports me more.
4. He is facing same, if not more, issues with tech. And he didn't have any guidance on how to handle the issue.
5. A lot of times he is facing process and system problems which he isn't able to solve because the org culture is that of working in Silos. And he doesn't get any support from manager.
6. Tech has clearly pushed him back when he asked for help and other teams never respond to him.
My man was still smiling bright and was looking things from a positive lens that all of this is interesting and adds to the learning experience which will be valued when we decide to move on from this job.
These are the people who inspire me. Smiling in the time of adversity.
Even when he had his own challenges, he was ready to guide me and hear my frustrations. I offered him help and will make sure to stay connected so he doesn't feel left out and alone in the team only because we don't work together in physical space.
One thing I have learned over time is, while I am facing problems, someone out there is facing more and difficult problems then me. I always tend to blow up my problems out of proportion then what they actually are.
I am the dumbest person that I know and mark my words, I'll die because of my empathy. I wish I could help my team mate in any possible way.2 -
A lot of this might be an assumption based on not enough research on both NestJS and TypeScript, so if something here is not well put or incorrect then please feel free to provide the necessary info to correct me since I care far more about getting dat booty than I do being right on the internet :D
Sooo, a year or so ago I got a hold on the Nest JS framework. A TypeScript based stack used to build microservices for node. Sounded good enough in terms of structure, it is based on the same format that Angular uses, so if you use Angular then the module system that the application has will make sense.
I attempted (last night) to play with the framework (which I normally don't since I am not that much of a big fan of frameworks and prefer a library based approach) and found a couple of things that weird me out about their selling points, mainly, how it deals with inversion of control.
My issue: This is dependency injection for people that don't really understand the concept of dependency injection. SOLID principles seem to be thrown out of the window completely due to how coupled with one another items are. Literally, you cannot change one dependency coming from one portion to the other(i.e a service into a controller) without changing all references to it, so if you were using a service specification for a particular database, and change the database, you would have to manually edit that very same service, or define another one....AND change the hardwire of the code from the providers section all the way into the controllers that use it....this was a short example, but you get the gist. This is more of a service locator type of deal than well....actual dependency injection. Oh, and the documentation uses classes rather than interfaces WHICH is where I started noticing that the whole intention of dependency injection was weird. Then I came to realize that TypeScript interfaces are meeheed out during transpilation.
Digging into the documentation I found about custom providers that could somehowemaybekinda work through. But in the end it requires far too much and items that well, they just don't feel as natural as if I was writing this in C# or Java, or PHP (actually where I use it the most)
I still think it is a framework worth learning, but I believe that this might be a bias of mine of deriving from the norm to which I was and have been used to doing the most.3 -
Couldn't be arsed with all the conditional compilation that angelscript required, so I dumped right back to good ol' lua for now.
Got lua in, vm started, loading strings and pushing/popping the stack.
Got SDL actually drawing as intended.
I don't know even half of what I'm doing.
Apparently header files that end in ".hpp" are specific to c++, while .h are for c headers.
I like the new SDL2 though, little bit different than SDL1. Not a lot of tutorials cover the difference, but I could kinda suss out from the documentation where I needed to adapt, even though I'm still pretty loose on the library, on the docs, and on c++ itself.
Still just a learning project.
Also, I'm continually surprised there isn't a portable, platform independent tool or little language just for replacing all pseudo-languages out there like .bat and .sh, and .zsh
Maybe even just a tool that standardizes it all, then takes config files that map the new standard to system dependant commands, so you can download the damn thing, configure the relevant environment variables, drop in the platform dependent configuration (or your browser or package tool detects what platform you are on and chooses the relevant package/download for your platform), write a console script and the tool automatically translates, and emits the system-relevant commands to that platform's console (so you don't even need much platform-specific code to do things like file access). -
android development is shitty af, it will make you super zombie computer nerd that sit on his chair for fking several hours just to find the where the fk is null pointer exception is coming from not only this but for all kind of errors,logcat looks like someone just hacking nasa, you know what im the one who is shitty af i would have opt web dev instead of android dev , this retarded studio and emulator takes too much time to just load a simple fking thing & if i make some change in it i've to install that application again ,it's so pathetic and horse shit thing i've ever encountered , kotlin is fun it's actually great language most of the features are so helpful in it,but the google codelabs,it's all documentation , adding dependencies whole concepts are trash imo, why can't we install the dependencies using terminal what's problem in that ,but no they chose the hard way for no fuking reason, i've successfully wasted a year learning this shitty tech stack, hopefully this NY i will choose different stack , will work till ass off .gonna build some cool projects and will eventually try for internships and all. done with android dev, idk how senior dev's are alive in this field6
-
I’ve now discovered that management actually decides for themselves what software engineering is. 🧐
It is getting increasingly common that in different architectural groups the decision has already been made… by management…without actually passing through our review… as a little more senior blokes and gals.
Not even a discussion? On the fit?
That leads me to the conclusion, since I consider the management (at least the two or three closest layers) are morons, good at talking but not really knowing anything about what we do (we kind of take stuff and make other stuff from it by using energy and other stuff in HUGE FUCKING FACILITIES AROUND THE PLANET), that even they did not make the decision. It was forced upon them. They did not decide either! Because they can’t! Because they are idiots all of them!
I have not investigated this issue but this is the logical conclusion. Or not.
Recently, for instance, decisions were made to route information flows by some tech. Some new tech. At some place in our eco-system. At a certain time. And, if we were to have reviewed this initiative in our process we would have said:
”Well, I hear you! But we are not going to do that right now because WE ARE IN THE MIDDLE OF THE FUCKING HUGE GLOBAL PROJECT THAT CHANGES PRETTY MUCH FUCKING EVERYTHING AND WE CAN NOT JUST IN THE MIDDLE OF THE FUCKING EXECUTION PROCESS OF THE PROJECT CHANGE THE FOUNDATIONS OF MESSAGE ROUTING BECAUSE WE LACK THE NUMBER OF HUMANS TO DO THE FUCKING JOB. So, we need to take a look at this and to get a better understanding when we can make this happen.”
What is the point of having this step in our organization if it is just pass-through? What is the point? Meetings? Just having meetings? Spending time mastering the organizational skill of administrating meetings? Feeling important? Using big words (holistic being my favourite)?
Below, juniors devs are being hired doing stupid stuff that does not need doing. For months and months.
I believe now that half of the dev staff does not need to be there and three quarters of the team, service, delivery (etc) managers are unnecessary. I mean, the good juniors are going to change jobs soon either way and we are stuck in this vicious cycle where we are not being allowed to be innovative in software engineering. Stability is of the essence here but the rate of our releases are just silly slow. I would say that we are far, far away from any track that leads us to where we want to be. Agile. Innovative. Close to business. Learning. Teaching. Faster. Stability despite response to implementing changing business needs.
And then there are the consultants…
*sigh*4 -
Need some advice here.
So hello everyone! I recently moved abroad for work, for the sake of the experience and the excitement of learning how developers in Latin America tackle specific problems. To my surprise, the dev team is actually composed solely of Europeans and Americans.
I work for a relatively new startup with an ambitious goal. I love the drive everyone has, but my major gripe is with my team lead. He's adverse to any change, and any and all proposals made to improve quality of throughput are shot down in flames. Our stack is a horrendous mess patched together with band-aids, nothing is documented, there are NO unit tests for our backend and the same goes for our frontend. The team has been working on a database/application migration for about a month now, which I find ridiculous because the entire situation could have been avoided by following very rudimentary DevOps practices (which I'm shunned for mentioning). I should also add that for whatever reason containerization and microservices are also taboo, which I find hillarious because of our currently convoluted setup with elastic beanstalk and the the constant complaints between our development environment and production environments differing too much.
I've been tasked with managing a Wordpress site for the past 3 weeks, hardly what I would consider exciting. I've written 6 pages in the past two weeks so our marketing team can move off of squarespace to save some money and allow us more control. Due to the shit show that is our "custom theme" I had to write these pages in a manner that completely disregard existing style rules by disabling them entirely on these pages. Now, ironically they would like to change the blog's base theme but this would invertedly cause other pages created before I arrived to simply not work, which means I would have to rewrite them.
Before I took the role of writing an entire theme from scratch and updating these existing pages to work adequately, I proposed moving to a headless wordpress setup. In which case we could share assets in a much more streamline manner between our application and wordpress site and unify our styles. I was shot down almost immediately. Due to a grave misunderstanding of how wordpress works, no one else on the team seems to understand just how easy it is to fetch data from wordpress's api.
In any event, I also had a tech meeting today with developers from partner companies and realized no one knew what the fuck they were talking about. The greater majority of these self proclaimed senior developers are actually considered junior developers in the United States. I actually recoiled at the thought that I may have made a great mistake leaving the United States to look a great tech gig.
I mean no disrespect to Latin America, or any European countries, I've met some really incredible developers from Russia, the Ukraine, Italy, etc. in the past and I'm certainly not trying to make any blanket statements. I just want to know what everyone thinks, if I should maybe move back to the states and header over to the bay/NY. I'm from the greater Boston area, where some really great stuff is going on but I guess I also wanted a change of scenery.2 -
I used to fucking love VSCode it visually was great, it was simple, had an integrated terminal that wasn't shit, supported many languages well (while not forcing every extension down your throat), and was straightforward to configure. I also had problems with it, mainly I felt it was way too bloated for an editor.
That good impression I had is gone now. It seems like every time I'm actually using the editor I have to fight with it. Whether that's an update that fucked up my config, or a reinstall and now I have to **convince** my fucking editor to use tabs instead of spaces automatically and I have to specify because holy shit it will not just listen after I set every possible fucking indentation setting to disable spaces or enable/prefer tabs and they keep adding shit like this that I give no shits about that make me sift through the damn settings finding the settings that turn off whatever new visual effect or quirky little automation they've implemented. I can't tell you how much I actively don't want my braces to be matched up by a color that doesn't even have anything to do with my color scheme.
Ive tried switching but holy shit intellisense is such a great feature that helps me so much so I'm not always bouncing between docs and my editor. Which ATM I'm learning go and intellisense has more fucking information on the functions than the docs do. I've seen Neovim (which is what I'm probably switching to) has language servers that are similar to intellisense so I'm intrigued to try that.
I'm just tired of constantly having to avoid all this shit I don't give a fuck about. I just want to get in, do my thing.
I won't be surprised if I'm the only one on this train 🤣8 -
The hype of Artificial Intelligence and Neutral Net gets me sick by the day.
We all know that the potential power of AI’s give stock prices a bump and bolster investor confidence. But too many companies are reluctant to address its very real limits. It has evidently become a taboo to discuss AI’s shortcomings and the limitations of machine learning, neural nets, and deep learning. However, if we want to strategically deploy these technologies in enterprises, we really need to talk about its weaknesses.
AI lacks common sense. AI may be able to recognize that within a photo, there’s a man on a horse. But it probably won’t appreciate that the figures are actually a bronze sculpture of a man on a horse, not an actual man on an actual horse.
Let's consider the lesson offered by Margaret Mitchell, a research scientist at Google. Mitchell helps develop computers that can communicate about what they see and understand. As she feeds images and data to AIs, she asks them questions about what they “see.” In one case, Mitchell fed an AI lots of input about fun things and activities. When Mitchell showed the AI an image of a koala bear, it said, “Cute creature!” But when she showed the AI a picture of a house violently burning down, the AI exclaimed, “That’s awesome!”
The AI selected this response due to the orange and red colors it scanned in the photo; these fiery tones were frequently associated with positive responses in the AI’s input data set. It’s stories like these that demonstrate AI’s inevitable gaps, blind spots, and complete lack of common sense.
AI is data-hungry and brittle. Neural nets require far too much data to match human intellects. In most cases, they require thousands or millions of examples to learn from. Worse still, each time you need to recognize a new type of item, you have to start from scratch.
Algorithmic problem-solving is also severely hampered by the quality of data it’s fed. If an AI hasn’t been explicitly told how to answer a question, it can’t reason it out. It cannot respond to an unexpected change if it hasn’t been programmed to anticipate it.
Today’s business world is filled with disruptions and events—from physical to economic to political—and these disruptions require interpretation and flexibility. Algorithms alone cannot handle that.
"AI lacks intuition". Humans use intuition to navigate the physical world. When you pivot and swing to hit a tennis ball or step off a sidewalk to cross the street, you do so without a thought—things that would require a robot so much processing power that it’s almost inconceivable that we would engineer them.
Algorithms get trapped in local optima. When assigned a task, a computer program may find solutions that are close by in the search process—known as the local optimum—but fail to find the best of all possible solutions. Finding the best global solution would require understanding context and changing context, or thinking creatively about the problem and potential solutions. Humans can do that. They can connect seemingly disparate concepts and come up with out-of-the-box thinking that solves problems in novel ways. AI cannot.
"AI can’t explain itself". AI may come up with the right answers, but even researchers who train AI systems often do not understand how an algorithm reached a specific conclusion. This is very problematic when AI is used in the context of medical diagnoses, for example, or in any environment where decisions have non-trivial consequences. What the algorithm has “learned” remains a mystery to everyone. Even if the AI is right, people will not trust its analytical output.
Artificial Intelligence offers tremendous opportunities and capabilities but it can’t see the world as we humans do. All we need do is work on its weaknesses and have them sorted out rather than have it overly hyped with make-believes and ignore its limitations in plain sight.
Ref: https://thriveglobal.com/stories/...6 -
I think I finally, really, comprehend why secret societies have historically been created... I mean the potentially logical ones. This train of thought is logically terrifying.
I want a logic check.
I've been jokingly mentioning some of my totally true, practically useless in most scenarios, skills/specific fields of knowledge/ability under a moniker of 'extremely useful, assuming apocalyptic event' for years. Things like advanced knowledge of Coefficients of glass expansion, Fortran, various things that have caused friends to refer to me as MacGyver after the reboot came out.
In recent years, I've personally encountered several varieties of the ones defined by helplessness, self-victimisation, some version of a real disability... that theyve expounded into a personified personal nemesis-- to flashily battle yet never overcome, etc... the vast majority perplexing me as to why that's a valid form of life to them... it's not that they never consider some other way; the ball is just quickly dropped and never picked back up.
College?(not that I'm a big fan) they wish they could but so expensive... aide? The form was hard/confusing/past-due...
Lookup/learn something more indepth than a tiktok? *some self-deprecating bs*
Yet it's "I always wanted to do/be/learn X"
Shows like 'How It's Made' fascinate, but don't inspire enough for a 5min google query.
In the dev world its a clear, inverted pyramid-- one of the first posts I saw when I rejoined here was ostream's rant on Apple sucking because after they stop support/updates you "can't" load a different OS... ofc you can. But several comments down... no mention of that... i think it was @LensFlare who was the only one in ~15 respondents to point out the core logical fallacy.
Basic shit is totally forgotten... try asking some random adults what plastic is made from... or pay attention to how many people declare they have a gluten "allergy".
I get people frequently telling me that things im pointing out as differences don't matter because "it's just semantics"... semantics is literally the epitome of "significance", with roots in 'meaning' and 'truth'
Back to the main issue... We are in a world where DIY is typically something you pay more to do as a catered experience than actually learning anything, people destroy their own arguments hopes of validity unwittingly often by stating the arguement, get 'offended' or 'triggered' by factual statements, propagate misinformation and bastardise words until MW needs money enough to print a new version, likely adding the misuse as an actual definition and basic knowledge and the thought to actually learn is vetoed by the existence of google translate, the wisdom of tiktok and the pure brillance of troubleshooting every random linux issue you have from not knowing basic CLI and thinking linux makes you cool, with chmod 777 because so many other dumbasses on forums keep propagating misinformation. Ask them what 777 means, most have no clue... as they didnt consider googling that one before putting it in a terminal several times.
The number of humans that actually know the basic shit that the infrastructure of the world is built on keeps decreasing... and we aren't even keeping a running tally.
The structure of the internet has the right idea... dns- 13 active master root servers, with multiple redundancies if they start dropping... hell ICANN is like a secret society but publicly known/obfuscated... the modern internet hasnt had a global meltdown... aside from the lack of censorship and global availability changing the social definition of a valid use of braincells to essentially propagating spam as if it's factual and educational.
So many 'devs' so few understanding what a driver is, much less how to write one... irl network techs that don't know what dhcp is or that their equiptment has logs... professionals in deducated fields like Autism research/coping... no clue why it was called "autism", obesity and malnutrition simultaneously existing in the same humans... it's like we need to prepare a subterranean life-supporting vault and stock it like Noah's ark... just including the basic knowledge of things that used to be common/obvious. I've literally had 2 different, early 20s, female, certified medical assistants taking my medical history legitimately ask if not having a uterus made it harder to get pregnant...i wish i was joking.
Any ideas better than a subterranean human vault system? It's not like we can simply store detailed explanations, guides, media... unless we find a way to make them into obfuscated tiktok videos apparently on nonsense or makeup tutorials.11 -
I’ve become so indecisive in terms of knowing what I want from my career.
All I know is what I don’t want (to end up a in management)
I’m definitely getting a new job and right now it looks like I’ve got 3 offers on the table
Option 1, a previous company I worked for. Still the same problems with the company there as before but the work was interesting and unusual. and my line manager was a good guy.
They have practically no legacy code.
Not much in the way of company benefits but they’re local and it would be nice to see friends again.
So feels like the pull to this is strong.
Option 2, a fully remote company that I’ve been referred to by an ex-workmate.
They’ve not even tech tested me because they’ve read my blogs and GitHub repos instead and said they’re impress. So just had a conversation with them. I feel honoured that they took the time to look at what I’ve done in my own time and use that in their decision.
Benefits are slightly better than option 1 (more hols)
But they’re using .net 6 and get a lot of heavy use on their system and have some big customers. I think the work is integrations to start with and moving services into docker and azure.
Option 3, even though I’ve got an offer from this one but they can’t actually explain the work until We can arrange a call next week (they recruit and then work out what team your in, but Christmas got in the way of me having a call with them straight away)
It’s working on government systems and .net is their least used stack so probably end up switching to Java. Maybe other tech stacks too.
This place has much better benefits than option 1 and 2 (more hols and more pension), but 2 days a week in office.
All of the above pay the same salary.
Having choice feels almost as bad as having no choice.
It’s doing my head in thinking about it , (even tho I might as well not think about it at all until the call with option 3 happens).
On the one hand with option 3, using a tech stack that’s new to me might be refreshing, as I’ve done .net for 10 years.
On the other hand I really like c# and I’m very good at it. So it feels a bit like I should be capitalising on that and using my experience to shape how the dev is done. Not sure I and I can do that with option 3, at least for a while.
C# feels like it’s moving forward nicely and I’m not sure I can say the same for Java or other languages.
I love programming and learning new stuff but so unable to let things go. It’s like I have a fear that c# will move on without me and I’ll end up turning into one of those devs whose skills are a decade out of date.
Maybe the early years of my career formed me in this way.
Early on I worked at a company where there was a high number of Cobol devs who thought they had a job for life.
But then redundancies came and many left. Of those who stayed they had to cross train to Java and they just couldn’t do it.
I don’t think the tech was hard for them, I think they were just so used to not learning that they could no longer adapt.
Think most of them ended up retiring after trying to learn Java for a few years.8 -
It's the 5th day of my holiday, circa 10.20 AM. So far I've spent around 30h programming, and learned React (already having experience with the other 2 major ME*N stacks I decided it was time to give it a go), made a small 2D platformer with Unity and realised I really like writing unit tests. Maybe next I refactor the app I just made to use GraphQL and TypeScript next, since I'm in the mood of trying something new.
Funny how my significant other thought being on holiday actually would mean a break from programming - no, it means more time to spend learning and trying things you don't have the time or energy to after a working day of Vue/C#!
(To clarify, I would not spend this much time programming on my holiday, if my better half wasn't away from home for this week - won't probably spend nearly as much time on it for the remaining 4 weeks...)2 -
I knew programming was for me, MUCH later in life.
I loved playing with computers growing up but it wasn't until college that I tried programming ... and failed...
At the college I was at the first class you took was a class about C. It was taught by someone who 'just gets it', read from a old dusty book about C, that assumes you already know C... programming concepts and a ton more. It was horrible. He read from the book, then gave you your assignment and off you went.
This was before the age when the internet had a lot of good data available on programming. And it didn't help that I was a terrible student. I wasn't mature enough, I had no attention span.
So I decide programming is not for me and i drop out of school and through some lucky events I went on to make a good career in the tech world in networking. Good income and working with good people and all that.
Then after age 40... I'm at a company who is acquired (approved by the Trump administration ... who said there would be lots of great jobs) and they laid most people off.
I wasn't too sad about the layoffs that we knew were comming, it was a good career but I was tiring on the network / tech support world. If you think tech debt is bad, try working in networking land where every protocols shortcomings are 40+ years in the making and they can't be fixed ... without another layer of 20 year old bad ideas... and there's just no way out.
It was also an area where at most companies even where those staff are valued, eventually they decide you're just 'maintenance'.
I had worked really closely with the developers at this company, and I found they got along with me, and I got along with them to the point that they asked some issues be assigned to me. I could spot patterns in bugs and provide engineering data they wanted (accurate / logical troubleshooting, clear documentation, no guessing, tell them "i don't know" when I really don't ... surprising how few people do that).
We had such a good relationship that the directors in my department couldn't get a hold of engineering resources when they wanted ... but engineering would always answer my "Bro, you're going to want to be ready for this one, here's the details..." calls.
I hadn't seen their code ever (it was closely guarded) ... but I felt like I 'knew' it.
But no matter how valuable I was to the engineering teams I was in support... not engineering and thus I was expendable / our department was seen / treated as a cost center.
So as layoff time drew near I knew I liked working with the engineering team and I wondered what to do and I thought maybe I'd take a shot at programming while I had time at work. I read a bunch on the internet and played with some JavaScript as it was super accessible and ... found a whole community that was a hell of a lot more helpful than in my college years and all sorts of info on the internet.
So I do a bunch of stuff online and I'm enjoying it, but I also want a classroom experience to get questions answered and etc.
Unfortunately, as far as in person options are it felt like me it was:
- Go back to college for years ---- un no I've got fam and kids.
- Bootcamps, who have pretty mixed (i'm being nice) reputations.
So layoff time comes, I was really fortunate to get a good severance so I've got time ... but not go back to college time.
So I sign up for the canned bootcamp at my local university.
I could go on for ages about how everyone who hates boot camps is wrong ... and right about them. But I'll skip that for now and say that ... I actually had a great time.
I (and the handful of capable folks in the class) found that while we weren't great students in the past ... we were suddenly super excited about going to class every day and having someone drop knowledge on us each day was ultra motivating.
After that I picked up my first job and it has been fun since then. I like fixing stuff, I like making it 'better' and easier to use (for me, coworkers, and the customer) and it's fun learning / trying new things all the time. -
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 -
I knew I wanted to be a dev in 10th grade when my Chem teacher told me about the work environment & pay at Google. When I actually started learning to code, it was so much fun & the whole Google thing just seems like an added perk if I make it there.
(Apple wasn't quite the place for me) -
If you are learning to code like me just because a language is claimed to be the easiest to learn doesn't make it best for you. I spent so much time trying to learn python and struggled but switched over to Java which is definitely more complex than python but I've actually been learning it better. Find what's best for you!
-
The stages of new thing:
1. I don't see what this thing is supposed to do.
2. Ok, I see what it's supposed to do but I don't understand it.
3. I sort of understand it but learning it is too much work for very little benefit.
4. I am bored so I will learn new thing so I look busy.
5. I will rewrite my current project with new thing.
6. My current project is now bigger, slower and harder to understand.
7. I am now enthusiastic advocate of new thing and I feel more of a pro.
8. Need to code something in a hurry and revert to writing code like I copied it from w3schools.
9. Discover new thing is actually obsolete.
10. Remind myself that none of it is remotely relevant to my actual job and resume hunting for CSS bug.3 -
Nothing much to ready today, keep scrolling..
I just asked you to keep scrolling, I am using this space to think out loud...
Damn you bloody rebel.. whatever..
Finally after a rough week, festivals, interviews, work stress, and pending tasks, I got a free weekend for myself to be with myself.
I managed to do bare minimum at work. My new line manager isn't quite pleased with how team and I am functioning but whatever.
On Fridays, I usually end the day early and start with personal tasks. I managed to finish some long pending activities.
Today, I was able to do a deep cleaning of digital housekeeping. Sorted some clashes with parents. manage to de-stress and relax my stiff neck muscles.
Apart from that I guess, I am all prepared to interview and get hired for a company on foreign land. I am confident that I can relocate to EU.
And for now, I am actively pursuing two of my hobbies, Music and Finances. I love managing my finances and learning more about technical aspects of audio and listening to more and more music.
I feel happier, relaxed, and calm. Having things under control is such a wonderful feeling.
And I am slowly building a framework to earn, manage, invest, and grow my finances. It's turning out really well. I have setup the base infrastructure.
For music, I have figured the fundamentals and now I will go out buy myself an DAC/AMP to build a portable rig.
This shit is so awesome and makes me happy. I am able to socialise at the end of each day so that keeps me going during the lock-down phase.
I have figured the top key and important things to do at work for my profile and I actually enjoy those.
1. Product discovery - talking to users/customers and finding their pain areas and opportunities to build the solution
2. Product vision/strategy - Dreaming on how the product would evolve and laying out a solid plan to materialise those dreams.
3. Roadmap and prioritisation - this should be self explanatory
4. Success metrics - I really want to get into data and I am getting opportunities to do so. This is super fun. This will help me analyse and show the impact of the what we are building and measuring it while making sure that LT recognises my and my teams' efforts.
I want to and I will excel these 4 keys skills of my profile and be more efficient at my job.
This will give me more time to pursue my hobbies (which will change over time and want to enjoy them the most while I am at them).
Guys, after a rough 2021, the end of the year seems promising with a lot of leaves and short vacation coming up.
Apart from all this, what is more important here is that I got the career and life clarity that I was struggling with for past few months.
For whoever has read till here, YOU ARE BLOODY AWESOME and thank you from the bottom of my heart for being there for me always.
I am grateful to be a part of this community and have awesome friends like you all who have been with me though my ups and downs since 2016.
LOVE YOU ALL :)3 -
Hey DevRant Fam <3
Hope everyone is doing very well as always!, i want to say sorry for my recent lack of activity in our community, i absolutely do miss communicating with everyone here as always dearly! there has just been too much going on within my life recently and i personally just needed a good break from everything , though to be honest more work was done than what i call my 'break', but guys not too much to say, about a week ago i turned 23 and things are finally starting to get a little better for me :-).
i'm also nearing the end of my degree in IT which this sem I've actually been working on a project for my first ever client with two other team mates, though i honestly feel that two of us are mainly carrying the team and the workload of course, but even so i must say i love learning all the time and its a real honor to do something i love and of course do with all of my heart :D.
as always everyone once again from the bottom of my heart i hope everyone is doing very well, and wish the best for you guys !
Milo <3 :D3 -
One day I decided I wanted to build robots.
And not kidding the reason I wanted to build them was because I wanted someone interesting to talk to and stil not kidding I even fantasized about a robot girlfriend... Lame I know I think I was a lonely little guy back then, though even after 7 years or so it doesn't feel as though it's that long ago. Maybe because things didn't change that much. Which is worrying but it's not the topic so I will pass on that future-past worries bullcrapper. After learning how robots worked and what made them function so things gradually led up to me being more interested in machine learning applications and software. I learned Arduino at first, I think I still have some messy circuits and old arduinos around. I only finished one robot though and it couldn't even support it's own weight. The servo motors were taking too many amps that heated up the little arduino even with a fan attached. Provably I should have made use of mechanics for robots books and calculated things first. But even though it couldn't walk properly I still felt success and I loved it like my own kid (me taking it apart was questionable but believe me). After that I focused more on writing code than using my hands to make things which was a pain in the ass if I might add.
After learning arduino and making that failed project of mine. I then picked up C++ wrote hello world program usual things a starter would do. It was the language I wrote my first game which I finished and this time it worked. But I never released it which was partly because I didn't want to spend a hundred bucks on a license for the engine and I also knew that it was a shit game. If I were to describe; lines in different colors come from the top you need to hit the lines with the same colored columns to break them. The columns changed their height and location on random. The lines sped up and gap between them decreased. Now that I think about it it wasn't half bad. But the code was written in game maker studio's version of C so I have no way to salvage it.
But I learned a lot of things from that project and that was the goal, so I would call it a win. I don't remember but after sometime I switched to python. And I'm glad I did, it's fun to code in which was the main reason I coded in the first place. Fun.
Life happens and time passes,
Now I'm waiting to enter college exams in a few months after hopefully passing them. My goal is to get into computer engineering which will be extremely challenging because it's the highest point department in the university I'm aiming at. But hey if the challenge is great the reward is greater right ? To be honest I'm still not sure about my career path. Too many choices. So I will just let my own road called <millions of similarly random events that are actually caused by deterministic reactions, to affect you and your surroundings leading up to a future which only the Laplace's demon can forsee> guide me. Wish me luck.1 -
Just now I was talking to this young girl on her employment in the corporates. I asked her if she learned anything that allows her to deliver value to her organization. She said 'not much'. And she was actually learning the wrong things, and didn't get exposed to the proper tools to get the job done, and the fact that she wanted to take the offer to work overseas.
I was telling her that if she has the adequate skills and the drive to deliver, she can be anywhere she want, but not now, and then I offered her a part time or full time freelance position that she can really learn up a lot under my supervision and deliver with satisfaction. She's not budging.
It also made me thought of myself on why I'm always hesitant to get out of Malaysia and just start a new career along with my peers overseas. I honestly want to get out of here. Seriously. I could have just gone out there. Do you know how much that I envied people who went out and had a good life being employed elsewhere?
But I still haven't been satisfied with myself, of not being able to deliver the best that I can, the best of my work throughout the 7 years of my career, and I intend to stay and prove that I can produce something great and potentially have really good gains before I make my ultimate move. I still have work to do. Unfinished business.
There are several more things that I need to cover such as server deployment on AWS, doing DevOps for web backend apps, and more architecting work. It takes time to learn. That's why I want to delegate some Android work to that young fella, so that I can move on to the more hardcore stuff. -
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 -
You work in a team, for a team to move forward successfully the team should work in sync. A team always has a goal and a plan to get to it. There are times when the team needs to take a different direction therefore the set path should always be available for change because our environments dictate it.
We all have different styles of working and different opinions on how things should work. Sometimes one is wrong and the other is right, and sometimes both are wrong, or actually sometimes both are right. However, at the end of it all, the next step is a decision for the team, not an individual, and moving forward means doing it together. #KickAssTeam
The end result can not come in at the beginning but only at the end of an implementation and sometimes if you’re lucky, during implementation you can smell the shit before it hits the fan. So as humans, we will make mistakes at times by using the wrong decisions and when this happens, a strong team will pull things in the right direction quickly and together. #KickAssTeam
Having a team of different opinions does not mean not being able to work together. It actually means a strong team! #kickAssTeam However the challenging part means it can be a challenge. This calls for having processes in place that will allow the team members to be heard and for new knowledge to take lead. This space requires discipline in listening and interrogating opinions without attachment to ideas and always knowing that YOUR opinion is a suggestion, not a solution. Until it is taken on by the team. #KickAssTeam We all love our own thinking. However, learning to re-learn or change opinions when faced with new information should become as easy to take in and use.
Now, I am no expert at this however through my years of development I find this strategy to work in a team of developers. It’s a few questions you ask yourself before every commit, When faced with working in a new team and possibly as a suggestion when trying to align other team members with the team.
The point of this article, the questions to self!
Am I following the formatting standard set?
Is what I have written in line with official documentation?
Is what I am committing a technical conversion of the business requirement?
Have I duplicated functionality the framework already offers?
I have introduced a methodology, library, heavily reusable component to the system, have you had a discussion with the team before implementing?
Are your methods and functions truly responsible for 1 thing?
Will someone you will never get to talk to or your future self have documentation of your work?
Either via point number 2, domain-specific, or business requirements documentation.
Are you future thinking too much in your solution?
Will future proof have a great chance of complicating the current use case?
Remember, you can never write perfect code that cures every future problem, but what you can do perfectly is serve the current business problem you are facing and after doing that for decades, you would have had a perfect line of development success.1 -
Working on a project for myself and to put in my portfolio. Talking about it with a (non coding) co-worker and discussing where I am in the project as I've been really excited about my progress since I'm working from scratches with no frameworks for the back-end(the only side I've worked on so far). I was talking about the registration page and getting ideas as to what I should let users put on their profiles and she chimes in, "This would actually be better as a mobile app. That would be much easier to use." Well yeah, probably, but I'm a web developer, not a mobile app developer. Plus making it a web app means users will be able to utilize it through any medium rather than just their mobile phone. I can (probably) make it responsive enough that users don't mind it being a web page rather than an app.
I'm still learning, I know PHP, Python and a little JavaScript, not really enough to build a mobile app. Yeah I'd love to make this an app, but then I gotta support multiple products across several hundred different devices in multiple languages and I'm just not ready for that. Let's get the back end finished and we can go from there.1 -
My ambition to learn is too much for my own good. I have so much desire to learn and get going that I'm all over the place reading bits and pieces cause I can't seem to get my foot in the door and figure out where to start from the very very beginning to figure out how to start actually learning to code.