Brutally Honest Review Of A Golang Newbie's Rejected Code

  Рет қаралды 22,312

Anthony GG

Anthony GG

20 күн бұрын

Watch a brutally honest review of a Golang newbie's rejected code. Learn valuable lessons in web development and software engineering from this candid critique.
► Join my Discord community for FREE education 👉 / discord
► Full Projects, Mini courses, Resume reviews, and Coaching 👉 thetotalcoder.com
► 33% OFF on my Go + HTMX + Templ Course 👉bit.ly/3UFruxO
► Enjoy a 60% Black Friday Discount on My Golang Course 👉 fulltimegodev.com
► Follow me on Twitter 👉 / anthdm
► Follow me on GitHub 👉 github.com/anthdm

Пікірлер: 77
@anthonygg_
@anthonygg_ 18 күн бұрын
► 33% OFF on my Go + HTMX + Templ Course PRESALE bit.ly/3UFruxO ► Full Projects, Mini courses, Resume reviews, and Coaching thetotalcoder.com ► Join my Discord community for free education discord.com/invite/Ac7CWREe58 ► 60% OFF on my Golang course fulltimegodev.com Thanks for watching
@dandogamer
@dandogamer 18 күн бұрын
Let's be honest brandon is a solid programmer and apart from some complexity and the lack of some idioms I cant see why he got rejected WITHOUT FEEDBACK as well is super harsh.
@gokukakarot6323
@gokukakarot6323 18 күн бұрын
Jobs have gotten harder to get into, these days 1 strike point is all you need to get to Cool interview to No thank you.
@dandogamer
@dandogamer 18 күн бұрын
@@gokukakarot6323 I understand it's harder because theres so many people applying that companies can afford to be very picky. But I hate that they give NO feedback on something that took someone a couple hours of FREE labour. It's just disrespectful
@justanaveragebalkan
@justanaveragebalkan 18 күн бұрын
Well for one, i would reject him because he clearly didn't use any LSP or straight out ignored it. There are certain stuff with the code base that are indeed over-engineered and lot of stuff that's under-engineered. For example, the Model folder, if you're going to be breaking it down, least go the whole way there, do the 3 files. His choice for a database, he uses a bucket, which on it's own is fine, but i assume that if he's applying for some sort of distributed role related to his previous experience than most likely they would want some sort of relational database, or least a no sql database there. The comments are actually annoying not going to lie, for 12 years i haven't seen someone write so much comments, it's almost like he's doing it for the first time and now tries to apply what the bootcamp guy told him. The fascinating thing is that looking at his profile, he clearly writes code from lot of time, so i guess he tried to over-impress there. He did that mixture of Monday architecture, that is assembled by smashing your head against the desk and letting your brain pour out of the skull. Core, has nothing but a graceful shutdown, which might as well be in main, the api folder, has almost everything but the db there, middlewheres, utils, routers, ect ect If again the same thing, if you're going to go for making abstractions, least make them coherent, otherwise it's just hard to understand, and actually beats the point in trying to show up how great you can confuse people in the long run. I personally think he just started with go and has potential, why they didn't get back to him least with some sort of guidance is a mystery, because he clearly didn't just toss it together but looking at the commit history, i would say it, might be another reason why he got rejected, i usually do more than all his commits combined in a single day, i don't see any branches, detailing the commit history. A lot of people ignore these, but it's one of the first things that i am looking at when hiring for a role personally, because you can always teach syntax, but you can rarely break bad habits. So for me, having main < development < i_am_doing_x < n tasks is a must requirement even working on your own, least i know when something breaks and what broke it. He also took like 12 days to finish this, assuming he submitted it on the last day, it's possible they already filled in the position. The GitHub overall history, while not an indicator, doesn't strive as someone that is excited about software engineering, little to none personal projects, this is always a red flag when someone introduces himself as passionate about the job that he's doing, they don't need to be a major success or even working as long as they are there, it's pretty much a profile that did nothing for 12 years overall. If it were me, doing the assessment, i would honest pass him as well, lot of people would say that they would give him a chance but the reality is that for that position there are probably few hundred more people that did better.
@jorar91
@jorar91 18 күн бұрын
@@justanaveragebalkan Why would you care about branches? I would care about commits, branches are just pointers to commits, for a project of that size with one developer trunk based development is more than enough and they could even be following git flow locally and just using ff merges. I would want good commits, ideally following conventional commits with good "reason" messages not only describing the change, specially for fix commits.
@dyto2287
@dyto2287 18 күн бұрын
It depends on what the home assignment was. If he did this instead what was asked then I'm sure it's immediate rejection.
@gustavo-santos-dev
@gustavo-santos-dev 16 күн бұрын
Honestly, for someone with no experience with Go, this is a solid code, I would definitely hire this guy and teach the language idiomatics. You can see that this guy can code and has a lot of experience.
@knofi7052
@knofi7052 18 күн бұрын
Brandon is writing a much cleaner code than I do and I wrote a feature complete programming language some years, ago. Anyway, the rejection didn't happen because he is a bad programmer. Keep on moving and good luck, Brandon!😉
@gangsterholla179
@gangsterholla179 18 күн бұрын
I didn't learn anything besides using a better ide
@RishiMishra-to9by
@RishiMishra-to9by 18 күн бұрын
These are the insights newbies like us need, Thank you so much G
@victormadu1635
@victormadu1635 18 күн бұрын
Moved permanently, just like your girlfriend 😂
@dranon0o
@dranon0o 18 күн бұрын
Its a matter of taste tho One would say it is over-engineered but with a simpler approach, one would say it is over-simplified for enterprises. The code is fine, he might require some guidance on problem-solving eventually. Also sometimes HR are a might a-holes when they are not communicating back they already found another guy that fit the culture of the company and you might think it's you or your code.
@dmitriyobidin6049
@dmitriyobidin6049 14 күн бұрын
Writing tests take time, a lot of time... If they are not ready to pay for this assignment - the only thing they will get is a single test, just to show that i know how to write them. Regarding the project - i think the main reason why he got rejected is the fact that he ignored all the warnings/errors. It's clear that he is not familiar with the "go way", but you can at least fix all the warnings... The fact that he hadn't been given any feedback is a disgrace.
@dandogamer
@dandogamer 3 күн бұрын
I'm guessing hes using a text editor without an LSP?
@r_j_p_
@r_j_p_ 15 күн бұрын
Lesson learned here is that hiring your next programmer is too important to be left (just) to other programmers! You're not just hiring a programmer - you're hiring a colleague, a mentor (yes, you WILL learn from new hires), mentee (yes, you have to coach them), and a thought partner. This is particularly true in the corporate and enterprise world. I really hate what passes for modern hiring practices that focus on short-term gain and ignore long term value of a whole person.
@ev3rybodygets177
@ev3rybodygets177 18 күн бұрын
some one who interviewed knew someone at the company so they went with them. There was no feedback because there is none to give.
@mvargasmoran
@mvargasmoran 18 күн бұрын
Man, you don't even use nvim.
@davidtkcs
@davidtkcs 18 күн бұрын
This format is amazing! Please do more!
@darkphoenix68
@darkphoenix68 18 күн бұрын
I was in pretty much exactly this position a couple of years ago. Trying to switch into a more dev-centric role, had an assignment to produce an API with a couple of endpoints, had minimal Go experience... I wrote my code. Submitted it. Got a "no thanks". I've played with Go a lot more since then, and looking back at that code now, I probably wouldn't hire me either... 🙂
@philipobiora6688
@philipobiora6688 18 күн бұрын
starting error messages created with errors.New() with a lowercase letter is recommended for consistency and readability. This convention ensures that error messages integrate smoothly into log statements and other contextual information, facilitating clearer and more coherent code.
@joaomachado9105
@joaomachado9105 17 күн бұрын
hello sir awesome video as always! This might seem like a simple task but for someone with a different background it really can test if you know the enterprise standards for this kind of demand. Also it would be awesome if you could include a pr request in the video to the repo so we can learn more about the thought process behind writing one. As a junior dev, even thought i can just take a look at some famous repos to see examples of well made pr requests, I have interest in knowing what a senior dev thinks in writing one vs what I think when writing one. Thanks a lot for the content, have a good day :) Btw i would recomend for microservices that you have the const in the main file injected as enviroment variables, so the dev ops side can configure your service
@EricDBrown
@EricDBrown 16 күн бұрын
Here's the thing, only watching the first two minutes so far... even if he wrote that code perfectly, another candidate could've written it perfectly too. Things that are extremely trivial (such as how they grouped variables) could've been the deciding factor between the two assignments. If you EVER get denied for a position, and you think it's because you suck... it could literally just be something this trivial. Don't beat yourself up. This is why you just have to accept that denials are part of the process, and you keep truckin'. It's that simple. In the process, keep learning also. If I'm unemployed, I literally spend 8 hours a day focused on educating, applying, and interviewing, as if it were my full-time job.
@who_fkn_cares
@who_fkn_cares 18 күн бұрын
"If you fart and it stinks, they're gonna say something about it" LOOOOOOOLLL 😂😂😂
@BlueIsLeet
@BlueIsLeet 18 күн бұрын
CtxKey can just be type CtxKey string dont need a struct type
@anthonygg_
@anthonygg_ 18 күн бұрын
Thats true actually
@lachieyoung1374
@lachieyoung1374 18 күн бұрын
Would love to see you review some of the code in the big Golang packages.. Kubernetes, Docker, OpenTelemetry.. pretty much any CNCF project.
@Yusuf-ok5rk
@Yusuf-ok5rk 18 күн бұрын
thumbnail is 10/10. I love it.
@darkarie
@darkarie 18 күн бұрын
Why are you using VSCode instead of Nvim?
@anthonygg_
@anthonygg_ 18 күн бұрын
😂
@depralexcrimson
@depralexcrimson 18 күн бұрын
13:37 length can not believe nobody mentioned it
@anthonygg_
@anthonygg_ 18 күн бұрын
WTF you are genius
@btotta
@btotta 18 күн бұрын
1-2 month on the job with some feedback he would be good, but since the job fail the interview feedback already, he probably better off kk
@ForeverZer0
@ForeverZer0 18 күн бұрын
It also depends on how much importance they were placing on someone being experienced with the language. He is obviously a good programmer, but it was also evident that he lacked experience with Go. The former is much more important, and the language experience would come with time, especially swiftly with a minimal language like Go, but it is possible they simply wanted someone who already had that experience. They could have had 20 other applicants, some of which were also good programmers, but also had more experience with the language. What would be their reasoning for choosing him in this case? People just try to read too deep into their rejections. It understandably sucks to have it happen, but it is also a stretch to insinuate that the code was the sole reason he was rejected or something he did wrong. It is possible to be rejected simply because someone else does it better. People have lost Olympic races where their time would have been a new world record if there wasn't someone else who did it even better.
@BradleyWeston92
@BradleyWeston92 18 күн бұрын
9:58 for the context key, you can just set a type to an int or string: `type MyCtxKey string; var MyCtkKeyAfterID = MyCtkKey("afterID"); var MyCtkKeyLimit = MyCtkKey("limit")` or `type MyCtxKey int; var MyCtkKeyAfterID = MyCtkKey(1); var MyCtkKeyLimit = MyCtkKey(2)` No need for a whole struct with one member.
@dixztube
@dixztube 5 күн бұрын
He a savage like diddy lmaooo
@wakeuphugo
@wakeuphugo 18 күн бұрын
He probably was a better coder than the person that reviewed the code and denied the application. lol . To be honest they probably denied for other reasons and not for the code.
@SJ-eu7em
@SJ-eu7em 18 күн бұрын
He made that just as part of job interview and got rejected ..ridiculous, he spent for sure several hours so they should pay at least 1K USD, code looked ok, capitalism ...no free work, remember that....
@nnn_367
@nnn_367 14 күн бұрын
If I needed a Go developer I would hire him, assuming we matched during the non-tech discussions. Coding style does not matter at this point. It is easy learnable and specific to a team or company. When I hire, I hire people who can solve problems, create solutions, achieve goals. I also do not understand why candidates agree to work on large home assignments when applying for a position.
@user-hn1ph6ry8l
@user-hn1ph6ry8l 17 күн бұрын
Seems he write this with ChatGP. I do it for my pet-project and haz same problem. I have 10+ year experience - mostly JS. I can code but have zero idea how it should be done wll in modern GO. And co-coding with iron fool give me working, but ugly code, becose its knowlage outdated and I have no experience to change it in time. But I do it in my own envirement and do my best to improve any symbol in this code. Thank you for responce, its concentrated gold for me. Cheers!
@claycowartisamazing
@claycowartisamazing 12 күн бұрын
All these dudes tryna hide in the backend and never complete anything tangible.
@deathdefier45
@deathdefier45 18 күн бұрын
The real top G
@cappuccinopapi3038
@cappuccinopapi3038 17 күн бұрын
do more of these
@marcs8325
@marcs8325 14 күн бұрын
I would hire him, because he ain't that bad and is willing to learn and adapt. He even writes tests 😂 My biggest fear with a new colleague, would be if they are very rigid and only want to do things their own way... but he seems fine.
@jasonjimenez9116
@jasonjimenez9116 14 күн бұрын
Golang is easy to learn but hard to actually master eg idioms, standard library, and what nots.
@nexovec
@nexovec 11 күн бұрын
all the seniors watching this have their "Yeah boii" meme moment rn
@oligreenfield1537
@oligreenfield1537 18 күн бұрын
Don't do home assigment it's a wake to make you work for free
@GK-we4co
@GK-we4co 16 күн бұрын
Feels like a solid programmer got rejected by a somewhat crappy team. I have some experience in backend (a bit over 10 years now, actually). Yeah, it's a bit messy and over engineered and non-idiomatic, but c'mon, all of that is teachable. No reason to dump him, especially without any feedback. The guy is solid. Maybe a bit like Englishman in New York. I suppose I'd hire him
@gokukakarot6323
@gokukakarot6323 18 күн бұрын
Get another one. Quote of the day.
@jp93k
@jp93k 17 күн бұрын
Tbh with all the comments kinda looks a lot like it was generated by chat GPT
@harddiskkosong3661
@harddiskkosong3661 16 күн бұрын
I can clearly see he is totally coming from embedded swe. His Go code resembles C/C++ a lot. I agree tho, there is nothing wrong with his skill. It's just that he is new to the Go. Give him a month on the job he'll shine. He wants to switch to go dev while I want to be in his position as embedded swe lol.
@dawizze1
@dawizze1 18 күн бұрын
Sick
@cariyaputta
@cariyaputta 17 күн бұрын
Fvck their clean code, I love megalith architecture (everything is in one single file).
@szymonskurski1119
@szymonskurski1119 4 күн бұрын
As long as u work on private project is your call but imagine you want to invite others to join you.
@ninilab
@ninilab 18 күн бұрын
1337 period
@billybest5276
@billybest5276 18 күн бұрын
Timmy!
@szymonskurski1119
@szymonskurski1119 4 күн бұрын
No feedback at all, this is cruel but code is not what i want to get from experienced developer.
@guitaripod
@guitaripod 17 күн бұрын
forking someone else's repo and pinning that on your profile is weird imo
@bombardo2489
@bombardo2489 18 күн бұрын
11:02 Wtf man
@reallylordofnothing
@reallylordofnothing 18 күн бұрын
yeah, he did a full Andrew Tate there.
@axMf3qTI
@axMf3qTI 18 күн бұрын
Als je zegt Timmie bedoel je dat deze? kzbin.info/www/bejne/sGG9inqhjqanj5Ysi=BgMNsomN-6I2pwgX&t=980
@Levelord92
@Levelord92 18 күн бұрын
I think the main reason he was rejected is that he's not using standard go project layout. But still his code looks fine
@aevitas_
@aevitas_ 18 күн бұрын
is there a real agreed upon standard? i struggled to find one when I started out and now I'm just sticking with the pkg, cmd and internal structure, but it feels like everyone is just doing whatever?
@Levelord92
@Levelord92 18 күн бұрын
@@aevitas_ yep that's right, it's mostly about cmd pkg internal. I'm not saying this is agreed standard, but from my experience of 4 years with go and over 5 jobs, only one of these jobs code base didn't follow this practice.
@eyesgotshowyo7800
@eyesgotshowyo7800 18 күн бұрын
Tbh it looks too much complicated.
@turkishcat4423
@turkishcat4423 13 күн бұрын
Back to vscode huh, I guess time to unsubscribe
@chudchadanstud
@chudchadanstud 18 күн бұрын
>Take home assignment for a job interview Yeah no thanks. Interview is for you and me to know each other and you're off to a bad start
@aarholodian
@aarholodian 18 күн бұрын
Web dev world is simply insane. Which is why I chose embedded, could not have been happier
@AhmetGoekayArpaci
@AhmetGoekayArpaci 13 күн бұрын
waste of 13min, thank you for jokes and not providing any useful feedback
@user-tc6oe9wz9i
@user-tc6oe9wz9i 9 күн бұрын
// Text // occurs after copy-pasting chatgpt didn't even bother to remove it. fair reject
@anthonygg_
@anthonygg_ 9 күн бұрын
God dammit. Im scammed
@samysamy5051
@samysamy5051 7 күн бұрын
I've never gotten that tho.
@MegaElias
@MegaElias 18 күн бұрын
Additional like for http.OK 👌😂
My Initial Impresson Of Go
12:39
TheVimeagen
Рет қаралды 62 М.
How To Use The Context Package In Golang?
17:03
Anthony GG
Рет қаралды 51 М.
ONE MORE SUBSCRIBER FOR 6 MILLION!
00:38
Horror Skunx
Рет қаралды 14 МЛН
Cute Barbie gadgets 🩷💛
01:00
TheSoul Music Family
Рет қаралды 75 МЛН
Mind-bending new programming language for GPUs just dropped...
4:01
Generative AI Has Peaked? | Prime Reacts
40:18
ThePrimeTime
Рет қаралды 160 М.
Golang is OG?
5:16
Martin Baun
Рет қаралды 2,8 М.
Pros vs Cons of When to USE Pointers in Golang
7:53
Melkey
Рет қаралды 9 М.
`const` was a mistake
31:50
Theo - t3․gg
Рет қаралды 94 М.
FastAPI, Flask or Django - Which Should You Use?
9:49
Tech With Tim
Рет қаралды 26 М.
The Most Efficient Struct Configuration Pattern For Golang
11:10
React 19 Has A Compiler???
45:00
ThePrimeTime
Рет қаралды 93 М.
Don't Make this Golang Beginner Mistake!
8:57
Anthony GG
Рет қаралды 13 М.
Beginners Should Think Differently When Writing Golang
11:35
Anthony GG
Рет қаралды 90 М.