I do hardware (sch/pcb) design in spain, I’m in a lead position in a small company.
When I look at what I’ve built, I have experience with technologies that most of my college mates are still mystified with (e.g. DDR4 or x64 architecture).
Most electronics in europe are industrial/power electronics, and most engineers spend their days doing what amounts to paperwork. In contrast I’ve had to ship new designs on a biweekly basis to keep things afloat, I’ve had to set up databases to keep track of our parts (something most hardware engineers don’t even understand), I’ve had to write reliable python scripts since our build process depended on it... the list goes on.
From my experience interacting with US engineers, you don’t even realize how little some “Engineers” in the old continent actually know.
Bad news: I use Altium
Good news: I’m trying out kicad on my spare time (feel free to take the credit)
As to the question, Altium is quite flexible in regards to using a database as a library, but it is riddled with bugs, workarounds and generally weird stuff. I’ve tried from the extremely simple to the overly complex. In that order:
- Easy level: Excel files on a shared NAS.
Pros:
* easy to set up.
* easy to convince management to try it out.
Cons:
* Not really a database
* You need to close Altium to add parts (this is very frustrating during sch capture)
- Medium level: Acces database (mdb) on a shared NAS
Pros:
* easy to set up (not as quite as excel but similar)
* you can add parts from inside Altium itself (with limited input interface)
Cons:
* because of how buggy Altium is the database tends to get completely corrupted. Almost daily backups are mandatory.
* You need to set up a form for part management, directly editing the mdb files is a path to disaster even with as little as 2 people.
Insane level: SQL server on AWS. Conected to local LAN through VPN. A simple php CRUD on apache for management.
Pros:
* Can handle heavish loads (a T2 micro can support about a dozen hardware engineers working in parallel)
* should be more scalable
* hides a lot of the complexity of the database for the junior engineers.
* small sized NAS won’t suffer while someone is generating a BOM.
* changes to database are more manageable if someone on the team knows sql.
* more reliable and resilient to altium bugs
Cons:
* No internet connection means no one works.
* possibly the most expensive solution
PS: I’m on my phone, I’ll reformat stuff when I get my pc to make it more legible
Startups, on the other hand, were hungry for talent. The pay I got at my first job wasn't great, even by startup standards. But it got me working on a more up-to-date stack (JS, Go, Python, Scala, NoSQL DBs...), taught me how to better handle the tradeoffs between clean, robust code and fast shipping and got me a great network.
A few years later, I got no equity, my salary is only decent (nothing FAANG-level, but better than friends at some larger corps) but I like what I do, got a fancy title, manage people and am considered indispensable enough that I can make my own hours.
I've met a large number of people from similarly non-traditional backgrounds as mine (former nurse, geology PhD, classical musician...) in the startup scene and my guess is they would never had a shot at working in tech if it were not for startups.
Even if more responsibility means more hands on responsibility, it's a mixed bag because your experience tends to be broad but not deep. Still valuable, but not really worth the comp tradeoff IMO.
That's kind of a weird assumption to make.
> However, to me, it’s dubious how many startup successes, especially in India, have been great for, say, 20th to 50th engineer at those companies. Swiggys, Olas and Paytms of the country are infamous for not giving good (or any, these days) equity to engineers.
I wasnt sure, hence stated the assumption. Did not want it to come across as a prejudice. Apologies if it did.
Example: "Defined the technical architecture of the MVP and implemented large portions of it. [Platform-specific stuff here]. Lead the recruiting effort to bring the company from 2 to 10, interviewing over 100 applicants. Participated in raising seed-stage funding from X VC and N seed-stage investors." IMO the thing the Bay Area does better than everywhere else is in the face of failure, the immediate follow-up question is "so what did you learn?"
I think we have selection bias on Hacker News because many of the prominent voices here tend to have high-paying jobs at prestigious tech companies, or at least know that they could get such a job at the snap of a finger. So from that perspective, joining a startup as an early employee is less attractive. For industry insiders who want to work at a startup, it often makes more sense to just raise money and start one yourself. They can do that relatively easily because their insider status vastly increases their chances of raising seed money.
For everyone else however... that cushy Google job is not at all guaranteed, and neither is the 500k angel investor check to be a co-founder. So, although being an early employee at a startup is definitely not for everyone... From an outsider’s perspective it can be pretty damn tempting.