React / General

What tasks do Junior, Middle, Senior React developers daily do?

What tasks do Junior, Middle, Senior React developers daily do?

React/General · December 3, 2017 at 8:44am

What tasks do Junior, Middle, Senior React developers daily do?

React / General · December 3, 2017 at 8:44am
What is the difference between tasks in their daily workdays?

December 3, 2017 at 9:52am

I think it would be rare to have an organisational structure that had deliberate "Junior/Middle/Seniors" all in the same group like that specific to React...

Seniors typically are able to make decisions that impact an entire codebase without anyones authority and dictate architecture, Intermediates typically implement without assistance and research potential solutions to problems which they would cross check with a senior, and Juniors implement "simpler", more specific or deliberate tasks.

like-fill
1
  • reply
  • like

So based on what I said, and trying to apply it to a particular codebase...

Imagine the codebase for Redux and the idea behind it. A Senior might be able to come up with a similar solution without reference to that library. He would need someone to work with him to implement it, who he could rely on to execute it (that would be the intermediate), but then they actually need to use that new library or architecture to implement actual components, so they might ask the junior to build simple components using that library.

like-fill
3
  • reply
  • like

One of my favourite answers to this question in general is found here:

https://github.com/basecamp/handbook/blob/master/titles-for-programmers.md

I know Basecamp use Rails, but it still applies to any language, and it might help you understand why your question isn't necessarily as simple or black/white as it seems.

  • reply
  • like

Hope this helps!!!

  • reply
  • like

December 4, 2017 at 8:22am

In my experience "junior" generally means you're not expected to be able to work completely on your own and need a lot of guidance. You may already be pretty good at what you do but you shouldn't be expected to make larger technical decisions because you lack the experience to predict how they impact projects down the line. So even if you're not a beginner you may still be considered junior because you may lack the "bigger picture" expected from a senior. "Seniors" OTOH are expected to be able to make larger decisions and in some cases complete smaller projects entirely on their own. In general I'd say the "ranks" should be balanced in such a way that while "senior" positions have more liberties in turn "junior" positions should have fewer responsibilities. Unlike props in React, blame should always flow upwards by default (IOW if you let the fresh graduate make the major technical decisions, it's not their fault the project turned out to be a mess).

  • reply
  • like

That said, I would be surprised to see a company have actual positions for junior/senior React developers specifically. A junior React developer is likely just a junior frontend developer with a special focus on the React ecosystem, a senior React developer is likely just a senior frontend/full-stack developer who mostly works on React projects. But especially for the latter I don't think "knowing/using React" is something you can be so good at that it warrants a "senior" title on its own -- they'll likely also have extensive knowledge/experience in JavaScript and CSS and be familiar with various other libraries and APIs. The "React" aspect is likely more of a defining core competency than an apt description of the majority of their knowledge. By the time you're a senior you should be able to familiarise yourself with new libraries pretty quickly and React's API surface just isn't big enough to warrant specialisation in that itself.

The title really only makes sense as a distinction from e.g. a "Senior Angular Developer" (because Angular brings a more standardised ecosystem) in which case I'd expect a React developer to be very familiar with routing, state management, side-effects, and so on, but not necessarily have thorough experience with any particular library when there are plenty of alternatives (though they should have a rough understanding of the differences and explain their reasoning when preferring one over the other).

like-fill
1
  • reply
  • like

(sorry for the wall of text)

  • reply
  • like

December 4, 2017 at 4:09pm

@christoshrousis So as I Understand main diffrences comes in decition making. right?

  • reply
  • like

It's a bit like a driver's license: if you're learning to drive, your instructor tells you where to go and makes sure you don't crash the vehicle or hurt anyone. Once you've passed the tests, you're on your own. You can make your own decisions but you're also fully responsible if you make mistakes because you have proven that you should know better.

  • reply
  • like

@Inplum How do you call a self taught programmer who has created a couple of fulstack react applications on its own, made a lot of decitions, mistakes, found solutions along the way. But has no work experience yet.

  • reply
  • like

Is he more a junior or middle?

  • reply
  • like

let say projects like e-commerce, blog, social network(with basic features)

  • reply
  • like

@arkee Were these real-world projects (i.e. more users than just you and a bunch of friends/family, possibly monetized, etc)? Depends on how you define "no work experience". If those were real-world projects, that's work experience.

like-fill
1
  • reply
  • like

I'd generally say fresh graduates (whether uni or bootcamp) are junior by definition, as are hobbyists with no real world experience. But there are exceptions to the rule. It also depends on the size of the company and how much experience the rest of the team has.

  • reply
  • like

So do simpler projects that many has real world users mean more than complex project with more features that has real world user?

  • reply
  • like

Getting user on your website is whole another skills that u should devote some time

  • reply
  • like

or is there any way to get around this?

  • reply
  • like

complex projects that has *no

  • reply
  • like

The thing about hobby projects (i.e. projects that you can develop in a vacuum because it doesn't matter if there are any users) is that they don't share the same constraints as real-world applications. The line is blurrier for libraries and open source projects but application development is very different when you have actual users/customers to take into account or if you can just build what you want. Concerns like user experience are more in the domain of design than development but in my eyes a senior developer should at least have some intuition of what is or isn't good UX and what solves the customer's needs vs what just makes the developer happy.

  • reply
  • like

So the reason I'm emphasizing "real-world" is that when developing software professionally you have to take all kinds of constraints into consideration. First of all there's likely a fixed budget (whether it's a customer who ordered the software or your employer or an investor), so any effort you invest has to produce sufficient value. Additionally you might need to adhere to technical restrictions dictating what services, software or even techniques you can use. And lastly of course in any non-trivial project there are likely other stakeholders than you who might have their own mind about what the application should be like and you'll have to compromise accordingly.

  • reply
  • like

Being a professional developer is as much about budgeting (if only your own time) and negotiating (aka social skills) as it is about writing code and sketching out software architecture. These skills take time to develop. They're learnable and may come easily but I still would be skeptical if someone with no prior professional experience applied straight for a senior role (though they might still prove me wrong in an interview).

like-fill
1
  • reply
  • like

December 5, 2017 at 8:28am

So as I understand in real world projects there will be bunch other people who can criticize your work comparing it to what they wanted it to be within a timeline they would want it to work supposedly. Thus you would learn how account other people's likes & dislikes in mind and you would have set of responsibilities.

  • reply
  • like

It wouldn't be like you are alone doing it or at home, It would be like there is whole audience, judges in front of you. Right?

  • reply
  • like

To have those experiences(some basic amount of it) is it better to go for a junior role or manage to have a website with real world users? which way would be more efficient?

  • reply
  • like

If you're capable of running a website/webapp with a considerably large userbase, you're going to run into alot of challenges along the way to help you get better. The challenge of working from home alone is that not alot of people actually have the resolve to pull this off.

like-fill
1
  • reply
  • like
Your message here...

*bold*_italic_`code````codeblock```