Live data from Hacker News

Ask HN: How do you become productive in a new project as a senior developer?

news.ycombinator.com

171–180 of 186 posts

Re: Ask HN: How do you become productive in a new project as a senior developer?

#171
post #133

Earlier quoted context omitted.

What does IC stand for?

Independent Contractor

Really confused as to why you were downvoted as you were the person being asked what IC stood for...

Pretty sure it's because they assumed IC was Individual Contributor but to downvote the "least common answer" is weird seeing as how, in this case, it's the source...

Re: Ask HN: How do you become productive in a new project as a senior developer?

#172
post #62

Earlier quoted context omitted.

>time-tracking by the hour is incredibly important As someone who does the R&D tax credit for a lot of tech companies, let me tell you that it really, really is. It's worth somewhere around 10% of all your developers' salaries if the company is profitable. As in, if they work 10 hour days, entering data into a time tracking system is a net benefit even if it takes up to an hour a day.

I see in one of your sub-replies further down that you are in the US, but even hearing you mention "R&D tax credit" makes my blood boil. At least in Canada, the "Scientific Research and Experimental Development Tax Incentive Program" (aka SR&ED) is a complete scam. Every development shop in Canada claims credits to recoup a significant portion of employees' salaries. Yet not a single one of my companies has ever perf…

Yeah, I felt that way too when I started this work. What I've come to realize is that the tax credit is not about conducting science in the strict, academic sense of the word, a la Karl Popper and the received view. The systematic evaluation of hypotheses just doesn't happen that often outside the academy.

Instead, the tax credit is really a political compromise crafted to appeal to both sides of the political spectrum. It's about subsidizing high paying, professional, white collar, technical jobs so that employers don't outsource them. That makes the credit an anti-free market subsidy designed to protect jobs but disguised as a pro-science, pro-innovation policy whose main beneficiaries are large corporations.

And honestly, even in the most "sciencey" firms, most of the R&D going on is dreadfully repetitive and unimpressive. Just as you cut and paste SO code, pharma researchers are just "cutting and pasting" the nth iteration of a chemical formula. They're not unlocking the secrets of the universe, they're just trying random shit until it works. Which, interestingly, is part of how the tax regs define a process of experimentation. Instead of "trying random shit until it works," the regs call that strategy "a systematic trial and error methodology."

Your issue is that you have a mental definition of R&D but the tax codes of the US and Canada do not define R&D in the same way, which to you seems dishonest. But you need to remember that, from a tax perspective, the definition isn't important except insofar as it helps or hinders the underlying policy objectives. Your definition may be closer to a colloquial or idealized definition of R&D, but it's not necessarily the definition which best achieves the policy objectives of the governments in question.

Re: Ask HN: How do you become productive in a new project as a senior developer?

#173
A step debugger has been suggested below by cubano. In my experience using a debugger as a broad lens to learn a codebase takes too much of my time. I can take a module to walk through the code in my head, paying special attention to conditional branches. Any place where I can, I ask 'What if..?', e.g. 'What if the value is null?', 'What if the network is down?', 'What if the program is being run for the first time?', 'What if an exception gets thrown here?'. For each of those what ifs, if the particular corner case is not handled then write a unit test to see what happens.

That brings me to another thing a senior dev can do, refactor code to be more testable, one small piece at a time.

Thing is though, your job as a senior dev is to make sure the code, and the coders, work smoothly together. A good chunk of your work will be mentoring the junior developers, fostering tech exchanges, leading design discussions, etc., and if done right the value in this far outweighs any individual code contribution you can make. In my opinion a true 10x developer is not necessarily one that produces 10x as much code, but one who maybe produces 2x as much, but enables the team around him to produce 5x as much.

Re: Ask HN: How do you become productive in a new project as a senior developer?

#174
I've had several (previously) senior developers join projects I've led or worked on. It's really hard to get them up to speed and contributing effectively - some never succeed :(

Firstly, accept you're not going to be productive immediately as you don't have the project and business context. This is fine. Resist the urge to redesign everything, bring in new technologies and practices until you understand what is going on. Your instant reactions and conclusions will not be attuned to the needs of the project - so practice humility. Socially you may be used to knowing more than anybody else about the system you work on. Don't forget how much hard work this was to achieve the first time and get ready to do that again - but better :)

Secondly, understanding you won't be contributing at a senior level to the project immediately, focus on learning the stack. One senior developer we had whose task was to do an integration of an open source program, got bogged down for months due to disliking the scripting language most of the backend was in. To learn a stack, make your own throwaway end-to-end projects. If you don't understand the stack, you won't contribute at a senior level.

Thirdly, make sure to regularly commit code to the project. Of course, you have to talk to surrounding teams, customers, etc., and learn to cut releases, and so on, but most important is regularly contributing so as to get a feeling for who on the teams understands the system and what the real development process is like. Easy ways to make quick code changes beyond bugfixes: improve logging and metrics (also great for getting an overview of how things work). To support your suggestions for new practices and stacks: gather and document data about the real issues (regular causes of incidents, etc.) and build relationships. In time, the value of an experience transfer is huge - but the value of scattershot rewrites without context is hugely negative. Good luck!

Re: Ask HN: How do you become productive in a new project as a senior developer?

#175

Pair program with a few people half a day for a week or two, and you'll become productive both with codebase and with your team mates (as long as you didn't capture their keyboards). Spend rest of the day on everything else mentioned in @Jedi72's comments and get the larger context.

"Dear Diary, my new boss hovered over me for hours today while I was trying to get some urgent work done. Please kill me now. :-P "

Re: Ask HN: How do you become productive in a new project as a senior developer?

#176
post #136
post #71

Earlier quoted context omitted.

Sorry, an hour a day doing busywork (like entering hours) in a startup is utterly indefensible. I've done a bunch of startups and not only did this never happen, it would not have been tolerated. Even at > I never spent more than about ten minutes a day doing tracking; during heavy bug crunches, maybe an hour doing detailed writeups within bugs for other groups, for communication purposes. In a small team in a compan…

> Time tracking by the hour... How is that a difficult idea to get around? As a contractor I'm expected to keep track of my hours and what I'm working on. Lucky it's just a chrome extension that I click to start and click to stop. Boom, tracking by hour of what I work on.

Which chrome extension would that be?

Re: Ask HN: How do you become productive in a new project as a senior developer?

#177

Earlier quoted context omitted.

Note, I did not say "commit to Production". Just set up the feature branch and tear it apart. Most code out there has 0 comments and uses conventions from when it was written (god help you if it's a legacy product)

In that case this is a good idea... I apologize for my skeptism. I've experienced the someone doing this and then committing to production though - I left that team as soon as possible...

Yeah, that is super sketchy.

Nah, I usually just do a feature branch, refactor items with better stuff and we can then cherry-pick anything that's sexy and still fits our business needs once we've talked it over.

Re: Ask HN: How do you become productive in a new project as a senior developer?

#178

> My guys were time reporting into 3 different tools (and this is a Who is the fscking idiot that calls himself a startup founder and makes people report in 3 different tools?

We detached this flagged subthread from https://news.ycombinator.com/item?id=14399262.

Re: Ask HN: How do you become productive in a new project as a senior developer?

#179

Earlier quoted context omitted.

Your view is quite different from the others​. But very insightful.

Thank you. Other top-level comments are preoccupied with portraying oneself as a senior developer, rather than behaving as such . The difference is substantial.

Spot on. I would like to be the latter.

Re: Ask HN: How do you become productive in a new project as a senior developer?

#180
post #79

Earlier quoted context omitted.

I've had the same experience. I'm sure it's somewhat context dependent, but if the code amounts to business rules and they are not documented, which is very common, you can only reverse engineer what the system _does_ and then write tests for that. Of course you can ask people who are more familiar but whether you end up helping or being a distraction then is an open question.

> whether you end up helping or being a distraction then is an open question. Ask on your team's IRC channel.

i hear you, but whether you get more than static depends on team/organization culture. It is good advice though.
Post reply on HN