iamNumber4's comments

iamNumber4 | 7 years ago | on: Ask HN: Going from Developer to Manager. What should I know or learn?

Learn to delegate through stewardship. Set clear expectations for outcomes. Your job is to remove obstacles to allow others to do their job, and direct traffic so the right people are working on the right things. Don’t micromanage. 90% of the job is setting expectations so you can convey that to your team, and up the chain of where things are.

So... you’ll need to develop ways to gather daily progress reports and monitor work is progressing. When it is not progressing you have to remove the road blocks if possible while also communicating up any roadblocks that might be causing delays to keep your bosses expectations inline with the current state of the projects progress.

You will also need to start thinking about the process in which people work, and make adjustments to the current process as problems show up. I have a Wednesday meeting with my leads/senior team to sync up and address pain points, I call this meeting “What’s working Wednesday” with the main topic to specifically look at and adress what is not working. So that my team and I can adjust our way of working. This allows me to get in front of problems when there small, and have knowledge of frustration/pain points.

iamNumber4 | 7 years ago | on: Expert Excuses for Not Writing Unit Tests

Unit tests for code coverage or application functionality?

They are different. TDD, is a waste. As you don’t factor in protyping, you start by writing test. Tests should be always step 3. The saftey check and improve is what unit tests are for. I would even argue that unit tests should be written by someone else, later on as a way to share knowledge and checks and balances.

Ask yourself the question are we writing a testing application or a user application. When you focus on the mythical unit test perfection, you are in fact writing code to pass tests the same author devised. So the premise is flawed.

iamNumber4 | 7 years ago | on: When is it OK to use goto?

In languages that support goto, but do not have try catch syntax. The appropriate use of goto for failure states to properly handle deallocation of allocated memory. If condition not met goto: cleanup

iamNumber4 | 7 years ago | on: Tips to improve PC performance in Windows 10

A lesson I learned in life is to look a entire problem in a whole, and then look for ways to sidestep the entire problem.

The root cause is windows 10. So the side step is to not use windows 10 to avoid all the associated issues.

So I suggest installing Linux to have better performance on Your hardware.

iamNumber4 | 7 years ago | on: Ask HN: Can you tell me your most frustrating case while working with Docker?

Docker for windows; crashing, or loosing connection to mobylinux, constantly needing to give permissions (windows sign in) to allow access to mounted volumes. Ergo lots of turn it off and on again style fixes, including windows reboot to get it going again.

Total garbage.

Since mobylinux is a vm in windows hypervisor, we moved to a Ubuntu vm, running LXD, an then proper lxc containers. Removing docker from the equation from our developer and production environments. No more issues because we don’t use docker.

iamNumber4 | 7 years ago | on: Why don't developers seem to care about good documentation?

Documentation is a catch 22. We love having it, but it is a beast of burden create. We also feel the pressure from management or self imposed deadlines to get something done. So documentation is the first thing to slip.

You also can’t document everything. Well not at first. You always have gaps and most times they are filled when some needs something and it is not there.

Which then highlights the biggest issue, you have to maintain it. So since there is that constraint and burden, the sentiment is why have it. The source code should be self documenting. Yadda yadda

iamNumber4 | 7 years ago | on: HTTP/3 will no longer use TCP

In other news, all network issues with packet loss are going to be fixed.

In other other news http v4 will again use TCP once v3 turns out to have bad user experience because udp packets are being dropped by poorly configured networks.

iamNumber4 | 7 years ago | on: Ask HN: What would a better C look like?

As already mentioned. It exists, D Lang. It’s a better C and a better C++. It has a runtime, which you can choose or not use. It is ABI compatible with C, and C++ ABI is a work in progress.

You can switch from writing C to D, and still use all of the existing C libraries and code you do today. You can even use D libraries in your C projects.

There is the betterC flag that can be used as well which essentially turns off the D Lang runtime.

The runtime allows garbage collection and other memory safety that more modern languages like Java and C# have spoiled use with. Also allowing for write once, compile every where. Making it a very portable language.

http://www.dlang.org

The other benefit is it is a language not owned and developed by a corporation like Java, C#, objective-C and go. So there is no ulterior motive’s or agendas by said corporation.

iamNumber4 | 7 years ago | on: OpenOffice does not print on Tuesdays (2009)

At least it is consistent, and not the first Tuesday after the second full moon. Aka once in a blue moon sort of problem. (Once a year problem)

Once in a blood moon, now that’s a hard bug to track down. (Once every 3 or so years)

It’s only a once a week issue, so it’s got that going for it

:)

iamNumber4 | 7 years ago | on: Why don’t business leaders consider good coder for management?

Right now I’m managing a team of 10, and still find the time to do some coding. Any more than 10 I need to charge members to be team leaders to take burden off when I know it is too much,

If you manage through stewardship, explain tasks and expectations, trust your report will make the right decisions. Then it’s mostly monitor allowing people good at their jobs to do their job. Then constant conversations individually, stand ups are great, but one on one as well every day.

I still find time to take ease to put down tasks. However most of my time is designing and grooming tasks, directing traffic, and unblocking my development team.

The job of a manager is to get out of the teams way, and to stay on top of roadblocks to keep all the lanes open. I also take responsiblity for watching out for process/workflow improvements to always keep improving, faster, better, less effort as that means more work done in less time and resource strain.

iamNumber4 | 7 years ago | on: Why don’t business leaders consider good coder for management?

Also try to get your severance in months of pay and not hard dollar amounts if you can. Severance is a win win, as the business doesn’t have to pay you now and has no impact on the current bottom line. So at the surface there is no impact to throwing you a bone if they let you go. where I gets fun is when you rack up 6-8 months, as then they have to make you happy, or their paying you and a new employee (your replacement) for the terms of severance.

Having it in months, then it is based on current rate pay on exit, so if you get significant future raises even more pain for them on exit.

iamNumber4 | 7 years ago | on: Why don’t business leaders consider good coder for management?

And another thing, having severance will protect you from future mangers that fill the role you were trying for, especially if that position had authority over you. Bad managers, like things their way, some even build shit lists of employees they want out. So they do things like labeling people as having “communication issues” with no proof or examples (aka a kafkatrap). They then might also direct you to do something, then let you take the blame and lie stating they never to you and their boss, hence giving more fuel to pushing you out the door.

Having severance protects you from all this, as you are now untouchable by the new manager.

iamNumber4 | 7 years ago | on: Why don’t business leaders consider good coder for management?

Skills can be learned and honed. I have had several managers who have only managed that are terrible managers.

Based on that, the problem is a value add proposition. The really good coders might add more value as really good coders. Transitioning that person to a position of manager, might be negative value as there will be impact as a really good programmer will have to be replaced, and then trained to be a manager.

If you really want to transition to management from any previous role, go get outside training, add degrees or certifications to your resume. Apply for the next management position, or jump ship to a new company hiring in as a manager.

It can also give you some leverage in upcoming reviews after being passed over for management roles for a raise to make compensation on par as if you were doing a manager position. Where as if you are more valuable as a developer you should be compensated for the job you are doing, but don’t want to be doing.

I would also stress to, for anyone regardless of role to also negotiate for a severance package so that your cheaper to keep than to be let go. Start it low at a month or two of salary. Try for it lue of a next raise or a smaller raise plus severance when offered future raises. If you do get a severance package (in writing) make sure each future review you negotiate more months of pay in the severance. Also only accept the severance if it does not specify exit terms, so any exit from the organization you are compensated regardless.

iamNumber4 | 7 years ago | on: Ask HN: What was the worst decision you made in your career?

Staying at my first job for far to long. If you’re getting promised x for doing y, and you do y, and don’t get x for some bs reason. Your getting the carrot and stick, dangling the carrot to get you to do something, but yank it away and dangle another bigger carrot. It is time to go look elsewhere for work.

Startups tend to do this more than not, because of lack of funds. Ie you do x will give you y on your next review. Review is rescheduled and rescheduled, etc... when review happens they forget about the deal, and were counting on you forgetting too. Don’t work for people like this.

iamNumber4 | 7 years ago | on: Code Must Be Clean. And Clear

I have worked projects where the most senior developers barely understood cs 101 data structures and lacked good taste in there own code.

Any time they did not understand they would insist comments were added. Then later would sneak back in and rewrite.

Mind you they would shorten variable names, remove pre condition checks on parameters because the thought it was useless code. Remove helper/util methods/functions and refactor from short methods into long ones Etc...

This was all in the sake of clear code. Clear to whom? Not everyone has the same level of skills or can recognize why code is structured the way it is.

I spent more time teaching than I did anything else because the senior and lead devs were senior by title not senior in skills.

My advice, when you run into a piece of code in a review, and it’s not clear to you. Before you knock it down and comment all over it, this is the moment for you and them to learn.

When you ask why are you using switch cases like that or why are you checking parameters passed in for validly or other safety critical patterns, or don’t understand template, or dependency injection, mixins, runtime type inspection. You may not be qualified to even comment.

So again clear to whom?

iamNumber4 | 7 years ago | on: Ask HN: Is running your own code on your servers now “old-school”?

New does not mean improved. Sometimes you have to stick to what works and you know.

The serverless hype, yes hype. Really means you are handing control of you application and it’s infrastructure over to someone else.

There is no reason why you shouldn’t self host. Also keep in mind running in a container on your server is still self hosting.

If you need a a full vm like container then use a vm, if your project can run in a docker container then use docker. However these are considerations for scaling your project not a prequsite how you host or develop your project.

iamNumber4 | 7 years ago | on: Show HN: Script to add last sudo commands to sudoers config.

Somethings are supposed to be painful. If you put to many commands that should have root privileges with no password, you do two things. 1 you load the gun to shoot your self in the foot because you took the safety off. 2 if you forget to lock your session and walk away, anyone can do root things you added to sudo config.

I would suggest if you absolutely need non root users to do things manage it with groups. That is one of the reasons groups exist. Don’t use the sudo group as a dumping ground for random commands as if you need to revoke a users permission you have to edit sudo config to lock certain commands down to specific users. What you need is a group. So then if a user needs permission add them to the group, when you need to revoke permissions remove them from the group.

page 2