

Ask HN: Join this Python or that Java shop - s3nnyy

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:&#x2F;&#x2F;goo.gl&#x2F;RlRV).<p>Here the summaries of the replies:<p>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.<p>- Team-size: Two guys.<p>- Source control?
  yes (Git)<p>- Make a build in one step? 
  yes (Gulp.js as build-tool)<p>- Make daily builds? 
  yes (Gulp.js)<p>- Have a bug database? 
  yes (Countersoft Gemini)<p>- Fix bugs before writing new code? 
  not always<p>- Have an up-to-date schedule? 
  no (we want to be agile)<p>- Have a spec? 
  no (room for improvement)<p>- Do programmers have quiet work conditions? 
  not always (big office, not always)<p>- Best tools money can buy? 
  yes (but &quot;best&quot; is subjective)<p>- You have testers? 
  no (no dedicated testers, each developer tests)<p>- Do you do hallway usability testing? 
  no (room for improvement)<p>Company #2 - Also, company that exists for 30 years. Builds Health-related Java&#x2F;J2EE apps.<p>Continuous Integration is planned with the following tools:<p>- 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.<p>- Scrum &amp; agile since two years
- Requirement Engineering should be stronger part of the process. 
- Selenium should be added soon.
- Five devs, one tester, and three &quot;Auszubildende&quot; (that is a German thing for people who don&#x27;t want to go to college and get a practical training).<p>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 &quot;more professional&quot;, having plans for Continuous Integration, and having dedicated testers etc.
======
cscharenberg
This 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.

