3 ms·
Ask HN: Join this Python or that Java shop
I am a college grad and I have two job offers. I asked each to kindly estimate how they perform on the Spolsky 12-points-plan to better code (http://goo.gl/RlRV).
Here the summaries of the replies:
Company #1 - Legacy ERP company that uses Python,Flask, MongoDB and Elasticsearch to produce webshops and other web-CRUD apps that can be sold to the customers.
- Team-size: Two guys.
- Source control?
yes (Git)
- Make a build in one step?
yes (Gulp.js as build-tool)
- Make daily builds?
yes (Gulp.js)
- Have a bug database?
yes (Countersoft Gemini)
- Fix bugs before writing new code?
not always
- Have an up-to-date schedule?
no (we want to be agile)
- Have a spec?
no (room for improvement)
- Do programmers have quiet work conditions?
not always (big office, not always)
- Best tools money can buy?
yes (but "best" is subjective)
- You have testers?
no (no dedicated testers, each developer tests)
- Do you do hallway usability testing?
no (room for improvement)
Company #2 - Also, company that exists for 30 years. Builds Health-related Java/J2EE apps.
Continuous Integration is planned with the following tools:
- Eclipse
- Confluence as documentation.
- JIRA als Bug-Tracking and Sprint plan tool.
- Stash (Git) as code-repository
- Bamboo as CI server
- Maven as build tool
- Omnis Studio (Tiger Logic), planned change to Java.
- Scrum & agile since two years
- Requirement Engineering should be stronger part of the process.
- Selenium should be added soon.
- Five devs, one tester, and three "Auszubildende" (that is a German thing for people who don't want to go to college and get a practical training).
I am interested more in Python since I could use these skills to build personal stuff. However, just from the description, the Java shop appears to be "more professional", having plans for Continuous Integration, and having dedicated testers etc.
- cscharenberg 12y agoThis may make the choice easier or harder, but think about this: Do you want to walk into a place with all these processes, or do you want to help create those processes? If you want to have a strong influence on tool choices and workflow, go with the less formalized company. If you just want these to exist and use them, then do the larger shop. A full set of formal processes is comforting, but it's also restraining - things won't change unless they hit some high level of pain. From my personal perspective, I would go with the python shop (assuming they show interest in improving their methods). Because then I could run with that freedom and kick ass building those processes over time. I would learn a lot of technical tools but also develop skills in making tough choices and tradeoffs. It can be a good start to a career to show that much initiative. But that's just how I would choose. I happen to see informality as opportunity to accomplish things I care about. But it can also mean chaos and wasted effort.