
Ask HN: How can I make sure that my skills develop in a small company? - phd_throwaway
This seems relevant given the recent massive discussion on big vs small companies. Throwaway just in case.<p>I&#x27;m currently finishing my PhD in computer vision. I&#x27;m about to start a job at a small hardware startup. The environment is great and it feels very close to being not work, which is nice.<p>Down the line I would probably be looking to join one of the big players in vision like Google, but right now I feel like I need more experience. I&#x27;m 25 now, for reference.<p>The team are highly educated (all post-doctoral), but I would probably be software engineer number one i.e. C++&#x2F;python. If and when we start shipping code it&#x27;s probably going to be up to me to define in-house coding standards, source control, documentation, unit testing and so on.<p>I don&#x27;t have a formal background in computer vision (physicist) and while there are lots of concepts that I&#x27;m aware of from, well reading HackerNews, I don&#x27;t really know what industry best practices are. I worry that while I can get the job done, I have no idea whether the code solutions I produce are &#x27;professional&#x27; (not sure what a better word is here).<p>How should I go about improving myself in this respect?<p>How do I learn the things that would be (I assume) common practice if I was a SWE working for a megacorp or being mentored in a startup instead?
======
rrggrr
You will do fine. Pick a project you like or whose codebase you will be
leveraging, and follow their coding standards and practices. Get working code
up quickly and don't get distracted. If you end up at a big co., you will look
back on this time jealous of the freedom you had and the creativity it
supported. Just be sure to deliver working code and useful functionality
quickly.

------
brudgers
From my high horse...or perhaps between it and me.

The engineering that matters at a startup is driven by business concerns. A
well organized codebase isn't a product. Best practices revolve around making
money or at least surviving.

Industry best practice in the hardware industry is selling hardware. A
professional matches a budget and requirements to what can be done and what
cannot be. The whole idea of being a professional is getting paid to apply
expertise to the specific circumstances and not promote one's trivial values.
To put it another way, a professional turns down jobs that violate their non-
negotiable values. They don't take money and then impose them on the
unwilling.

Experience will give you professional judgement. That will make you better.

Good luck.

