3

I am having an introspective moment as a junior dev.

I am working in my 3rd company now and have spent the avg amount of time i would spent in a company ( 1- 1.5 years)

I find myself in similar problems and trajectories:

1. The companies i worked for were startups of various scales : an edtech platform, an insurance company (branch of an mnc) and a b2b analytics company

2. These people hire developers based on domain knowledge and not innovative thinking , and expect them to build anything that the PMs deem as growth/engagement worthy ( For eg, i am bad at those memory time optimising programming/ ds/algo, but i can make any kind of android screen/component, so me and people like me get hired here)

3. These people hire new PMs based on expertise in revenue generation and again , not on the basis of innovative thinking, coz most of the time these folks make tickets to experiment with buttons and text colors to increase engagement/growth

4. The system goes into chaos mode soon since their are so many cross operating teams and the PMs running around trying to boss every dev , qa and designer to add their changes in the app.

5. meanwhile due to multiple different teams working on different aspects, their is no common data center with up to date info of all flows, products and features. the product soon becomes a Frankenstein monster.

6. Thus these companies require more and more devs and QAs which are cogs in the system then innovative thinkers . the cogs in the system will simply come, dimwittingly add whatever feature is needed and goto home.

7. the cogs in system which also start taking the pain of tracking the changes and learning about the product itself becomes "load bearing cogs" : i.e the devs with so much knowledge of the product that they can be helpful in every aspect of feature lifecycle .

8. such devs find themselves in no need for proving themselves , in no need for doing innovative work and are simply promoted based on their domain knowledge and impact.

My question is simply this : are we as a dev just destined to be load bearing cogs?

we are doing the work which ideally a manager should be doing, ie maintaining confluence docs with end to end technical as well as business logic info of every feature/flow.

So is that the only definition of a Software Engineer in a technical product?

then how come innovations happen in companies like meta Microsoft google open ai etc?

if i have to guess as a far observer, i would say their diversity in different fields helps them mix and match stuff and lead to innovative stuff.

For eg, the android os team in google has helped add many innovative things in google cloud product and vice versa.

same is with azure and windows . windows is now optomissed to run in cloud machines when at one point it was just a horrible memory hogging and slow pc OS

for small companies, 1 ideology/product/domain is their hero ideology/product/domain .

an insurance company tries to experiment with stuff related to insurances,health,vehicles,and the best innovations they come up with is "lets give user a discount in premium if they do 5000 steps a day for an year".

edtech would say "lets do live streaming for children apart from static videos"

but Android team at google said , "since ai team is doing so well, lets include ai in various system apps and support device level models" ~ a much larger innovation as 2 domains combined to make a product

The small companies are not aiming to be an innovative product, they are just aiming to be a monopoly product. and this is kinda sad

Comments
  • 2
    I simply dreamed of being a load bearing cog. sounds niiiice

    instead I was used as an emotional support animal 🤢
  • 1
    in regards to experimental changes, noticing that the managers would change the feature in the future I made the apps modular plug and play stuff so we could just take stuff out and put stuff in through config files
  • 1
    I think cross department / large product work would happen if you build a complete product that's very good

    then it will be given to other departments

    small companies generally do not have "other departments". however I did experience, having built a great product, that they wanted to make new departments around it, and sell it to new customers. the tool was internal and just an internship project some managers were messing with requesting random wishes for, but then it became useful inside the company and then people inside the company wanted the tool to exist on the client machines because it would make working with clients easier... and then the owner of the company wanted to setup a subscription model to the clients to have this tool on their system. but I ended up leaving due to low pay and management being too dishonest and evidently they never did it, though to this day they still dream and talk of it
  • 2
    I don't think 4.5 years is junior dev. I have 3 years total experience and I was basically senior and lead very quickly. I guess it depends what you had access to at your companies?

    interestingly, now when I get hired the amount of work and responsibilities given to me make me confused. because I'm just asked to make a button or something. but before I had to do everything lol. yet my title and pay is way higher now. but all I do is little changes and know nothing about the greater app at hand. it's super weird.
Add Comment