![Cover image for The Day I Truly Realized I Was a Junior Developer 🤡](https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwen5qu0ehri50ssbd4nb.png)
Disclaimer: This story is focused on the storytelling aspect of my experience. For the sake of flow and engagement, I’ve skipped detailed code exp...
For further actions, you may consider blocking this person and/or reporting abuse
I'd argue that most junior part of this story is spending hours over hubris. Every dept/shop/team is different, but I tell my team if it takes more than hour, ask for guidance. Our budget has a limit.
To be fair that's definitely not junior typescript stuff hahaha. If you can write generic types like that without blinking a few times, I'd say you're an absolute typescript wizard.
Completely agree. Nothing in here is junior level.
Thx for a great story. I am arguing the typescript "wizardry" title. Because if we don't know how to use typescript to declare our special type with generic and condition, is just means one thing: we just put on hype but don't spend enough energy to know to use it. Most of typescript / JSDoc ( my favorite ) post are stop the explaining on basic types using mainly: string & number. But a ugly fact is our type ( this is a reall great example, thx again! ) are much-much more complex.
May I try to organize TS code a bit readable format.
This format is always working to me with a
?
&:
Have being working with TS in angular professionally, honojs and Nestjs recently. But TS generic codes like this still aches my brain.
Thanks.
Ok thanks for formatting this lol. Now this makes more sense without having to double take at what I was looking at
Pure gold! Thank you, kind sir.
By the way, just a comment: I am a software engineer and developer, have been for several decades, but I'm also a writer and editor, and I just want to praise you're writing. Very tight. Very nice. Brilliantly explicative and evocative. Kudos.
I thought this was a good piece about the dev-life, if you will. It was also personally encouraging. But, most of all I thrilled at a legitimate experience of aesthetic pleasure where I was most certainly not expecting it. I forget which (I want to say modern, if not contemporary) poet said a main object of his craft was to "surprise and delight" his audience.
Thanks a lot, I'm really happy to hear that ^_^
To be fair, most of the stuff that's happening here is pretty yucky and it's almost like React goes out of its way to make things as convoluted as possible. Most people would probably come out with pretty hairy solutions!
I'm literally experiencing this now. Today lol. It's amazing that this post showed on my timeline. I'm also using it as a learning experience. But yeah, that initial feeling of " man, I just did this"😁 to"oh,I could've just done.....😑"
Just use tanstack router
Im not even understand it yet, i just work with {data : any} right now 🤣 but still i'm improved by using type / interface for better validation,
i have skill issue so i use AI instead 😭😭😭
On complex type cases AI can help you, until a point, because TS is a bit complicated language and shard knowledge on internet also a different levels so for AI also hard to learn TS. This example is very fine.
JSDoc even worst in this case, but almost know every TS parts ( expect interface, enum ) but the JSDoc document is really weak. I using a TS doc for that also.
The param type matching was a nice touch, but the other types seem way over engineered. An actual Jr is going to have a to maintain this in a couple years. Why not just use an enum where the value is the URL and the name is the id?
const ROUTES = {
RouteID: URL
} as const
Then just replace all the URLs with the const value update your const object for the client request
@hichemtab-tech [ @greensmurph
It's hard for me to understand what is junior about spending mere hours over hubris. That must be because I live in a backward country that actually celebrates a senior citizen head of state that has lived steeped in hubris for many decades. And he is truthfully, and sadly, an excellent representative of the sentiment that my fellow countrymen seem to mostly express, if not in word yet deed.
That being said, I think your comment detracts from the humility, honesty, and skill with which this piece was written by @hichemtab-tech. I have studied code for programming on my own with an above average dedication of the average person interested in dev code, but I have passionately and relentlessly studied, poured over, lived, breathed, etc. the greatest accomplishments of the oldest code known to be recorded via long-term storage technologies: the written word. And this piece may well have been written by a young person, but Rimbaud, proved age doesn't even determine a junior in the most important and complex code of all: poetry. So, there is no argument for the author of this piece to be referred to as junior based on anything in this piece. @hichemtab-tech you coded this article with skill that could at least be evidence of a wizard in the making!
Disclaimer When it comes to code, my first and fondest love is maths.
Thank u, really happy to hear that ^.^
TL;DR: I relate to this as a junior dev as well.
I am currently busy with a project by a senior dev colleague of mine and I learned a lot from it. We're building a Full-Stack React app, during the whole process, I realised that there's a lot I don't know !
Looking at his code, I felt I could barely understand until the next couple days. It was a lot to catch up to them.
Happy to hear that ^.^
I don't see Joe as a senior dev. Sorry.
Being a code wizard/acrobat/whatever you want to call it, does not automatically make you a senior dev.
A senior dev should know better than to force their acrobatics and wizardry code onto a project, because noone will be able maintain that code in the future ...unless you have a team of only wizards, which never works because mosts wizards have an ego that's a bit** to work with.
(I'm talking specifically about web-application-development teams and not about wizards of the like that work at places like DeepMind)
I've seen this countless times that someone with exceptional coding skills joins a company/project but then fails to improve anything because they just make life harder for everyone by introducing wizardry and writing fancier code instead of actually trying to figure out how to improve the output and quality of the project by incorporating the whole team and knowing their skillsets.
And yes this is partially also a failure of management, but you can blame a manager only so much, when most of us assume: "Oh he's a wizard, he will definitely make the project and codebase better!"
Edit: That being said, i can perfectly relate to where you are coming from as i had the same thinking in the early days.
And you are a junior, but not because you cannot write fancy code (yet) - but because you think that fancy code is good code.
I scrolled hoping to see this comment.
This could have been solved with the same output a lot simpler in many ways.
This is just overengineering at its finest.
Being senior is actually writing simple, understandable and maintainable code. Not this "wizardry".
Thanks a lot <3 I'm really happy to hear that those leaks of Wizard skills doesn't keep me from becoming a Senior ^.^
I believe that's just a natural phase of learning or an example of problem-solving progression. You did well actually. You found the problem, you created a solution, and the fact that it involves automation is really good. Joe talked to you because it's probably a teaching moment and you actually took the feedback so that's really commendable. Those TS techniques are quite advanced, i.e. generics conditional types, etc. It will come to you later. What's equally important in your professional journey is having all that skills and knowledge and when to use it at the right time.
Thanks a lot <3 that was really encouraging
Happens all the time.