Live data from Hacker News

Ask HN: How’d you go from a noodler to writing large well structured programs?

news.ycombinator.com

51–60 of 77 posts

Re: Ask HN: How’d you go from a noodler to writing large well structured programs?

#51
post #20

I suggest you hire a software developer, preferably a senior one if you can afford it. The difference between a bunch of impressive algorithms written by specialists in the field stitched together by brittle connections, and a bunch of impressive algorithms that are part of a well structured, tested and maintainable suite is huge. Reading a book or two is not going to solve the problem in the long term, which I assum…

To add to this: what you have now is likely a 20% product - something on the level of a proof of concept. All of that connecting tissue that makes things robust can take quite a bit of work, and it's really hard to see whether it's robust or not for a while.

I wish this was an option to learn from a pro and see how they'd go through it but unfortunately I don't make the hiring decisions or control the budget.

Re: Ask HN: How’d you go from a noodler to writing large well structured programs?

#52
post #24

I will reiterate some of what others have said: - Use version control! - Hire a professional software developer - Good architecture and abstraction comes mostly from practice but if you really want to do some reading on software architecture check out "The Architecture of Open Source Applications" (vol 1 & vol 2) http://www.aosabook.org/en/intro1.html

Version control will be on the list starting next year. Thanks! I'll also take a look at the link.

Unfortunately it isn't in our budget to hire a pro dev to the team but I can work attempt to increase time working with our corporate IT department which has some excellent devs.

Re: Ask HN: How’d you go from a noodler to writing large well structured programs?

#53
post #38

MatLab is a disaster for this. Great software, but a horrible, horrible coding environment. I came from a CS background and did a EE masters. Working in Matlab made me want to cry because of the problems you're describing; I think they're endemic to Matlab rather than anything you're doing wrong. Source control will help, just look at some of the git tutorials. Go through them enough to where you can create a "releas…

Interesting to know others have had similar experiences in Matlab. I'm hoping to find the time to recode the whole thing in python in the new year as well as implement source control. Thanks for sharing your experience.

Re: Ask HN: How’d you go from a noodler to writing large well structured programs?

#54
A tangent: Places I've worked with no source control and "we'll fix it live" often lack reliable backups. A failed hard drive was an existential business risk.

I recommend making sure you have a disaster recovery plan in place. Essentially, do you have up-to-date and reliable copies of things off site, and a documented way (which you've tested!) to get your stuff back up and running using only those copies.

Re: Ask HN: How’d you go from a noodler to writing large well structured programs?

#55
I dont use ither of those, but my suggestion is to look at well developed projects in the languages you use, check out their file structure.

For me I have a folder for the project, withing that a library folder shared code and libraries, one for the configuration files changeable templates, etc., and another that contains the applications folders (one is the main application one for login, user accounts, maint, etc.) then the different apps I make go into their own folders within the apps one. If you are using multiple languages you might want to have language sub folders as well.

Makes referencing the libraries and config info less crazy and segregates your apps for modularity.

Again check some similar project your language(s) might have differing file structure needs.

Example:

/project

/project/config

/project/lib

/project/app

/project/app/main

/project/app/thisapp

/project/app/anotherapp

etc.

Re: Ask HN: How’d you go from a noodler to writing large well structured programs?

#56

Sounds like you and I are in similar situations. I work in finance and am somewhat of a "DevOps" type of person, although much less so than I used to be in my previous company. That being said, I wrote 2-3 monsters in the past few years - all were projects that I worked on solely from scratch - no outside involvement. The key for me personally was twofold: 1) Owning the project solely, in its entirety, from start to…

Thanks for the advice.

1) We can likely section off large components of code within the group and start refactoring/rewriting from there.

2) This can be tough on a trading floor but I do prefer to code in large time blocks as well.

Thanks again.

Re: Ask HN: How’d you go from a noodler to writing large well structured programs?

#57
post #51
post #20

Earlier quoted context omitted.

To add to this: what you have now is likely a 20% product - something on the level of a proof of concept. All of that connecting tissue that makes things robust can take quite a bit of work, and it's really hard to see whether it's robust or not for a while.

I wish this was an option to learn from a pro and see how they'd go through it but unfortunately I don't make the hiring decisions or control the budget.

If you can make purchases you can probably hire a consultant for a few hours so that someone can give you an informed opinion.

Re: Ask HN: How’d you go from a noodler to writing large well structured programs?

#58
post #51

Earlier quoted context omitted.

I wish this was an option to learn from a pro and see how they'd go through it but unfortunately I don't make the hiring decisions or control the budget.

If you can make purchases you can probably hire a consultant for a few hours so that someone can give you an informed opinion.

I don't make purchases is my point. Im an analyst. The manager makes the budget, purchases and hiring decisions, and they have determined a pro dev to not be an option. I can request that a pro be hired (and have requested additional hires have strong skills) and I do.

Re: Ask HN: How’d you go from a noodler to writing large well structured programs?

#59
post #21

I work on a machine learning team that has gone through the exact same process. As others have noted, the biggest change for us was cultural. If you send me a message I would be happy to chat about it.

Thanks. I'd be interested in how you managed to change the culture? We have a 4 person team and most consider themselves quants/finance people as opposed to programmers. None of us have CS degrees, but are trying to learn and do the best we can.

Re: Ask HN: How’d you go from a noodler to writing large well structured programs?

#60
> We also do not have any form of source control or testing. Wen things break, we fix them on the fly.

> Do you have a good book recommendation on project structuring?

Get it in source control and write some tests before you start hacking up the structure!

Post reply on HN