muhanga

joined 1 year ago
[–] muhanga@programming.dev 5 points 1 year ago

Same problem with "top 10%".

"DORA guys" came to our org in the past. And sing a song of "all successfully teams do that to, so you should too". One of the my question, that was left unanswered, was did they analyse negative scenarios to check if their suggestions actually works and add too the reducing cycle times and what not?

And most of the time my cycle time is more depends on number of meetings I need to attend through day than on anything even remotely related to the coding.

I understand what DORA tries to do, but what they achieve is just another cargo cult.

[–] muhanga@programming.dev 3 points 1 year ago

Somewhere someone probably does... But this piece of code really look like someone either tried to inline a bunch of calls or this is code generated object mapper from json or other nested model.

Nobody with a sane mind and serious attitude will use this code as a "real" code. (I still believe in people, despite all the evidence to the contrary I get every day)

As a fun bit though this taken some dedication.

[–] muhanga@programming.dev 2 points 1 year ago

You are absolutely right. At first I just wanted to add my favorite language to the bunch, but then I realised that this isn't really answering anything, because the use case matters most.

You can use any language to programm solution to any problem in any environment. And given that here we have many developers fixing many different problems we will end with just a collection of all possible languages and problem/solution permutation.

Language doesn't matter. Solution and solution logic matter. And most times we are using a Plain Human Language to crate a solution and then encode it.

[–] muhanga@programming.dev 8 points 1 year ago (2 children)

Plain Old Human language. Remember comments? Remember moments when things get very complicated and docs and comments become your only help?

That mostly because none of the languages is the best. Some of them better in some places and worst in others.

For example: Java. Amazing library range, enterprise support and feature and community reach. Java also fail in shambles when you need a low level or guaranteed performance. Erlang. Robust distributed and fault tolerant. Now try to create something that is not network, agent oriented and should work locally only.

Every language has a niche. Look at javascript. JS is only exist because of it's niche. It wasn't good as a language, but it was the only one viable solution in it's niche.

Same with assembly. Nobody sane would use assembly if it wasn't that close to the metal.

There are time tested solution in every niche and it is wise to know why they still there and what drives them.

[–] muhanga@programming.dev 2 points 1 year ago

I learned this lesson through one of my optimization tasks. Speeding up programm by just reducing input data by 80% solved multiple problems. And real eye openner was an "article" about grep: https://lists.freebsd.org/pipermail/freebsd-current/2010-August/019310.html

Basically if you have less work you will do it faster. Since then my first question is always: Can we do less work?

[–] muhanga@programming.dev 18 points 1 year ago

Learn to talk to people and maintain connections. It is most invaluable skillet that will help you both carreer wise and professionally. The more people you know the better it is for your carreer. Learn to present yourself. Visibility matters very much, so it also good to "sell yourself" sometimes. There is really fine balance between making a sell and just bragging, people don't like second, but okay with first. Learn to teach other people and help them. Most troubleshooting experience I get now is from helping other people. They have a completely different way of doing code that I am (as a whole) and I am just getting this free xp by helping them and also adding one more trouble to my personal solution cupboard.

As for technology, pick what you like and master it, but also make a peeks at what is currently "in vogue". For example I really have no depth knowledge in the current frontend space, but I did take a passing looks (and build simple tutorial projects) with react, angular and dart. It didn't really required a much effort from me, but this helped in the long run to be aware.

[–] muhanga@programming.dev 8 points 1 year ago* (last edited 1 year ago) (1 children)

Just a note by setting up a 30 hours home project you effectively removing "people with lives" from your hiring pool. People who can do a 30 hours either have a lot of freetime currently, or code after the job. And if you really want those people in the team then go ahead, but you are missing on 8 to 5 crowd and that is a very good and diverse talent pool. From my experience 8 to 5 minded people are very good in solving tasks in sustainable manner. They just don't have time to fuck with the system and doing effective "dont-call-me-at-night" solutions.

if you are doing a lot of interviews you need a common set of questions and measures and this take a lot of time and effort to setup.

Personally I would suggest to setup interview as a two parter first ask some theoretical questions and then ask to create a simple code with simple problem related to the questions. This helps to find out if people are really understand what they talking about. This again require a lot of thought to setup an to have small practical tasks relevant to the questions.

For example in most recent interview I asked candidate about algorithm complexity, data structures, garbage collection and then asked them create a simple dictionary to store a hierarchical structure. This helped to see if candidate knows what he is talking about and can use his knowledge in practise. I have seen a lot of people without good theoretical knowledge, but they create a code that is good and working despite their gaps and other way is also correct people have a good theoretical knowledge but fails to apply it in practice.

So figure out who you are searching for. Create an ideal checking solution for their skills and start combing the desert. There is no shortcuts in hiring, sadly.

view more: ‹ prev next ›