HN user

stevegalla

46 karma
Posts0
Comments55
View on HN
No posts found.

No but my naivety thought there would be more automation in place to reduce walking, sorting and picking up heavy things.

Having worked in a non-Amazon fulfillment center, I’m amazed at the automation they do have.

Picking and packing product once it’s in a warehouse isn’t the difficult part. Unloading and loading the shipping containers, in my experience, is far more difficult.

To maximize space in shipping containers they can be packed floor to ceiling. I think about 22kg was the maximum weight of product I was unloading. Picture beverages stacked floor to ceiling in a 50 foot trailer. The optimal lifting position will happen for a small percentage of the boxes moved. You’re on your toes trying to pull product from above your head, then you’ll be bending over to pick product off the ground.

Palletizing the product for transportation within the warehouse also puts you in disadvantaged positions.

There will be some token training on how to lift correctly, but you will quickly be falling behind on productivity.

To achieve your targets there will be times when you’ll be lifting two boxes together. Or stacking them to be more efficient.

If you’re lucky and they see you working hard, they may give you a rest day by putting you on light duty once every two weeks. If you piss off the scheduler, enjoy your heavy rotations.

It’s probably a good thing to reduce the human element assigning this kind of work.

Also don’t forget not all product (e.g., heavy exercise equipment) arrives with intact packaging. Sometimes you’ll have to move this out by hand when a box falls apart and then repackage the material.

When you’re picking product there is often powered pallet jacks to get from point a to point b, but you end up taking short cuts and jumping off before the machine has reached a complete stop.

This work is still better than doing rebar or construction. At least you get a roof overhead and stay out of the elements.

People who are young and need a job will do dumb things to stay employed.

Does this lead to the same sort of problems with the development of physical systems?

I would argue that physical systems aren’t developed in a “waterfall” method.

In mechanical design classes in engineering school, we learned to start with low fidelity sketches to capture customer intent. We come up with several options, build those into increasingly higher fidelity 3D models, use simulation to refine, take a few candidates and get physical prototypes, do physical testing (strength, endurance, integration, etc.), determine the best one, then go into limited production to prove out and establish the production process, then go into full production.

We are taught (and in the automotive industry it’s a requirement) to have cross functional teams involved in the design stages of both the item and the manufacturing process.

To your point about inadequate spec: My opinion is there are so many different backgrounds coming into software that there is no common language or background.

I think everyone thinks their way is better and it’s hard to communicate technical ideas when you need to constantly recreate and translate between terminology and documentation methods. This lack of convergence and common knowledge is what I think results in poor specs.

I guess it depends on how much leeway you can be given for using “almost nothing” and “remotest connection to anything technical”, but Wikipedia says Ford Motor Company was incorporated in 1903 and the first assembly line dates to 1913.

Engine blocks are still cast, sheet metal is still bent, pressed, and rolled so I think there is a lot of the original years still around. Yes, I’ll give you that there have been huge advances in sophistication, but it seems to me the early years are still present.

Not personally, but I worked in manufacturing and the company bought them.

The company is required to adhere to ISO and other certifications specified by the customer. In order to adhere to the standards, you need to have the current revision of the standards. If in your annual audit it's determined that you don't have the current revision, that's a non-conformance. Correct it by purchasing the new version.

Also, you need to pay for the "official training" before you start to get certified. And you need to pay for "internal auditor training" as part of the requirements.

ISO 9000 series, IATF 16949 series, ISO 14000 series, some welding ones, painting ones, ASME standards for drawings, Y14, IIRC.

And the Automotive Industry Action Group's (AIAG) "Core Tools" series of books. I don't think they are standards, but they are "customer requirements", which means you can't be certified without them. They are used for new product introduction, so you can't pass new part submission without following the rules in them.

Technicians (also called technologists in Canada)

Nitpick: technicians and technologists are distinct in Canada. They operate at different levels in the stack as shown in [1].

[2] has some requirements for becoming certified as a technologist or a technician.

I agree with the rest of what you’re saying. However, this system has limitations (moving up in levels) that should be improved on before this model is adopted or imitated.

[1] https://asttbc.org/wp-content/uploads/2019/02/Level-of-Work-...

[2] https://asttbc.org/how_to_apply/

What would be the purpose of loading disintegrating box anyway?

Sometimes you're unloading or on the receiving end of disintegrating boxes, and you need to unload the container the freight came in. This is to receive in the damaged product to your warehouse before you can claim it.

Two examples I from bring on the receiving end: - ocean freight were water gets in through holes / damaged parts of the container that cause all the packaging material to breakdown - beverages being punctured or otherwise leaking causing all packaging material to be damaged

In an ideal state, you don't have damaged packaging because you can use clamps, slips, or other specially designed conveyance equipment.

The article is talking about detached housing. In Vancouver I keep seeing the trend of several detached houses in a row being bought, bulldozed, and converted to low-rise condos or townhouses.

The supply of housing (condos, townhouses, duplexes) is increasing, it’s just people aren’t too happy with “lowering their living standards” by having to live in a condo or townhouse, or having to move out of their neighborhood to a suburb.

Land is an issue in Vancouver. We have mountains to the North, ocean to the West, and farm land to the East and South.

What little land is available does get converted to “dense” accommodations, but it could be more dense. For example, in my area 10 years ago there were maybe 3 or 4 detached houses on the land. Now there are 450 condo and townhouse units. This could be significantly more dense by building a high-rise (6+ floors I think) instead of the low-rise (5 or fewer floors). However, we don’t really have the correct road infrastructure to accommodate huge density increases. Pre-pandemic a 20-25 minute drive to work already takes around 1.5-2 hours during the weekday.

The detached housing that remains detached is converted from, for example, a 3bed 2 bath rancher to some sort of luxury home with 6 bed 4.5 bath. Doubling or tripling of value is not uncommon.

I can’t find it right now, but articles in the local papers have talked about changing communities from being all single family detached to a mix of condos, townhouses, detached. This way new buyers can start at a condo, move to a townhouse, then upgrade to a detached house as equity builds up, the family increases their income, and the family expands.

The problem with this is the people who own the detached houses don’t downsize when their kids leave, so these rarely come on the market, or people are buying more house than they need at that point in their life to counteract rising house prices.

Yes, people have expanded outwards. For example, my mom and step-dad moved approximately 1.5 hours East of their last house (now a 20 minute commute for my stepdad instead of the previous 60-70 minute commute). The problem here is that the house prices have risen here too for detached houses. Places on my parents street are 650-800k. Go over one block to the next cul-de-sac/ street and they go for 800k - 1.2 million. These are all new detached houses built [edit: on previously vacant land] in the last 3-5 years. Spreading out hasn’t actually caused prices to drop. Spreading out has done the opposite. They call it half-doubling or something here. Half the price for double the house if you move outwards.

Who knows what will happen.

Figma to React 5 years ago

Judging by partlysean’s response, “our industrial design team would use Rhino and then hand it off to the mechanical engineers to rebuild it in Solidworks.” I would think Rhino lacks the entire Computer Aided Engineering (CAE) capabilities that Solidworks has.

The Wikipedia page for Rhino says it’s a CAD tool, but Solidworks says CAD and CAE. So Rhino has a subset of Solidworks’ capabilities.

Engineers use CAE to help with determining how the materials, dimensions, and other engineering choices will be have under loads. So these have some similarities in that Solidworks can also do 3D modeling, which is used as an input to performing CAE.

Different audiences and different use cases.

I know what you’re talking about, but I don’t have links.

I took part in a “training session” at a med school. Basically undergrads were brought in to go through a “PBL” session so the facilitators could get training for the upcoming school year.

Looking for literature in the medical field might help to narrow your search. I think it’s a “flipped classroom”, “Socratic method”, “case studies” approach, or probably goes by a different name in different fields.

You do a bunch of pre-reading and preparation ahead of time. You come into the room and are given a problem statement. Then everyone tries to solve the problem and discussion ensues.

not one person thought critically about the specification or tried using the app from a user’s perspective.

I come from a manufacturing background and have moved into software. In manufacturing, if there actually are issues with the specification, you raise those through engineering change notices. If you start changing the spec on your own, that’s a big time no.

Do you have a formal process for spec changes or are you expecting the team to raise these issues independently and unprompted?

If someone has actually raised concerns with you about the spec or offered up changes, how did you respond to those? I work with people who always say, “why doesn’t anyone challenge me on my ideas?” This happens at the end of a meeting where these people will have shot down everyone else and their ideas. In reality they want “yes people” who tell them there is no disagreement because their idea is best.

I’m not saying this is you, but they may have been through these experiences and might need permission or direct instruction to show them speaking up is valued.

In all seriousness, I stopped going to lectures* and studied at my own pace. My learning isn’t linear, so there will be some topics that are easy that you can move quickly on. Other topics take more time. Sometimes you can take a detour and dive deeper kn interesting topics.

Going to lecture, sitting in lecture, waiting around, etc. provided very little information per unit time for me. I can’t learn math or anything quantitative from watching someone do it. By using lecture time as study time I was able to double the time spent learning the material.

When you get stuck, go to office hours. Or look for notes from similar courses for a different perspective.

At the start of the course look at the book and see what the prerequisite material is. Review that material during the first week when there is time.

* exceptions being courses that have a participation grade.

I tried my best to have profs that followed a textbook.

Two fitness principles: - Specific Adaptation to Imposed Demands (SAID) - Training blocks / periods / cycles / waves

What are you trying to accomplish with C++?

If you’re looking to have a better command of syntax, then do advent of code or something aimed at that. If you’re trying to implement algorithms in C++, get an algorithms book and implement them in C++. If you’re trying to get better at designing and architecting C++ code, look at good implementations (easier said than to find).

What ever you practice, that’s what will improve, so it’s best to align that with your goals and work backwards.

Athletes tend to have different phases of their training. Some periods of pre-season training, season, post-season where there may be a greater emphasis on things like strength, endurance, power.

I think building is good, but there must be some other phases too. You can’t just build all year or else you might get stuck in a local maxima. So, there should be phases of learning, building, refining. Again, aligned with what your end goal is.

Broadly speaking, math is made up of theorems. The goal is to prove the theorem by establishing a proof, or disprove the theorem using a counterexample.

In math textbooks and courses I’ve had, there tends to be footnotes on who produced some foundational result (statement of the theorem, proof, or counterexample). So you study or learn about the original work, but you’re not doing so from the primary source (original work).

This could be because the proof of original work was: - in a different language, - required advanced knowledge the learner doesn’t have, - a more simplified proof was found, - a more enlightening proof was found, - an informal proof suffices, - the statement of the theorem is all that’s needed, - the proof is left as an exercise to the reader, - the proof is a special case of a more general proof, - or any number of other reasons

I’m a ‘Software engineer’ in Canada. Have been at multiple companies. Do not have an engineering degree...

I'm mixing between EGBC (Engineers and Geoscientists British Columbia) and PEO (Professional Engineers Ontario) in links below, but feel free to contact your local engineering licensing body to check if your titles hold up. There is a bunch of weird language through out. Who knows, you may qualify.

From [1]: "In British Columbia, anyone who practises software engineering, or who uses the title “software engineer” (or a similar title that implies that they are a software engineer, like “firmware engineer”, “mobile app engineer”, etc.), must be registered with Engineers and Geoscientists BC."

There is a lot more in [1] including, "Not all software development constitutes software engineering." and "... many individuals who develop software probably do not actually engage in software engineering..."

Someone linked to a Microsoft job using the word engineer in Canada, which seems strange since Microsoft already learned about the protected use of the word "engineer" in Canada in 2001 [2].

Professional Engineers Ontario says, "On July 25, 2002 Microsoft Canada announced that they will continue to use the term 'engineer' as part of the Microsoft Certified Systems Engineer (MCSE) designation."[3]

Professional Engineer is a protected title in Canada. Is that what you’re thinking of?

I think "engineer" is protected too. I think job titles that contain "engineer" can only be used by those who are registered professional engineers.

From [4], "Can someone call themselves an Engineer/Professional Engineer or P.Eng if they don’t have a licence?

The term Engineer/Professional Engineer/P.Eng. can only be used by those that have been granted a licence by PEO, under the authority of the Professional Engineers Act. The title “Engineer” is restricted to Ontario licence holders under s. 40(2)(a.1) of the Act."

[1] https://www.egbc.ca/Registration/Individual-Registrants/How-...

[2] https://www.canadianconsultingengineer.com/engineering/micro...

[3] https://www.peo.on.ca/public-protection/complaints-and-illeg...

[4] https://www.peo.on.ca/public-protection/complaints-and-illeg...

What type of product and where overseas? Is this a a North American or European product looking to be manufactured in Asia? Or is this designed in Asia and wanting to be manufactured in North America or Europe?

My experience is from North America manufacturing in China.

1. You get what you pay for. If you don’t want to pay for quality, don’t expect quality. If you squeeze the manufacturer, they will cut corners.

2. I only have experience with low cost Chinese manufacturing, so this applies to that. - You need to get the entire process proved out and dialed in before sending overseas. In my experience, they were either not able (or we weren’t paying enough) to go from drawing + 3D model to a fully operational production process. We had to make all tooling and checking fixtures and ship them overseas for production. - get first part inspection documents. Receive those exact parts and repeat that first part inspection on your side - you need to specify inspection plans, which should include at a minimum: what to check, how to check, with what measuring device, inspection frequency - if you require specific machining or processes, that needs to be specified. Don’t leave it open to the manufacturer - you need to get good documentation from them and make sure they aren’t dependent on one person... after one lunar new year we received new parts that weren’t up to specification. It turns out the one person who knew what paint to use didn’t return from vacation - I would specify some sort of acceptance sampling plan to either accept or reject the entire lot

3. If your product needs to adhere to some quality standard (e.g., ISO, IATF, etc.), make sure they have the certificates and can prove documentation.

4. Don’t be surprised if your product ends up on eBay or some other site. If you’ve heavily invested in development and it’s novel, consider getting it manufactured locally where you can maintain a direct relationship.

5. Have someone that speaks that language fluently and knows the local culture and customs working with you.

6. If you don’t have manufacturing or quality experience, find someone that does

I assume you’re referring to this part:

This last point is contentious but make no mistake: PEDs are ahead of detection capabilities. I think that at this point any elite athlete _not_ on PEDs is doomed to fall behind.

If you’re looking for links out of curiosity, below is a quote from an article where athletes were stripped of medals in 2016 for 2008 and 2012 Olympic Games.

“The IOC, which stores samples for 10 years, reanalyzed more than 1,000 samples from the 2008 Beijing Games and 2012 London Olympics with improved techniques that can detect the use of steroids going back weeks and months, rather than days.” [0]

Wikipedia has an entry [1] on stripped Olympic medals with references to the announcements.

If you’re looking to refute that statement, I can offer up an anecdote in support of the statement from a panel discussion with the former head of WADA (World Anti-Doping Agency) I attended during the 2010 Winter Olympics [2].

Playing baseball in my youth we had coaches who played division 1 college baseball. The phrase we were told between the ages of 14-16 was, “if you’re not cheating, you’re not competing”. That’s the college baseball wisdom that was brought back to Canada. It’s not hard for me to imagine how that can move on to taking PEDs.

[0] https://www.cbc.ca/sports/olympics/olympic-medals-stripped-d...

[1] https://en.m.wikipedia.org/wiki/List_of_stripped_Olympic_med...

[2] https://chancentre.com/events/sport-society-sport-ethics-tec...

You can’t exactly run a project at a multi billion dollar loss

What is the cost of running the games though?

I assume (with absolutely no evidence) that the costs would be heavily skewed towards facilities setup and infrastructure. That’s a sunk fixed cost.

I’m sure there is a large security and labor cost when the games are going on. I assume this would be a variable cost that would be reduced without spectators.

If the majority of the cost has already been spent and it’s a relatively small (perhaps less than a few hundred million dollars) cost to conduct the games, why not go through with it? Maybe running a limited games could be a compromise?

I suppose all of the Tokyo 2020 merchandise is already written off and useless.

I acknowledge the whole calculus changes with public health and the pandemic. I’m addressing money as the issue.

Anyways I’m a huge fan of all Olympic events, and the Olympics is the only sporting event(s) I watch. I look forward to them when they come, so I’ll definitely be sad if it was all cancelled, and I’m definitely biased.

exams to certify vocational skills _after_ such training and/or real world experience (e.g the bar exam, the F.E./P.E. in engineering, "masterpiece" evaluations in the skilled trades).

I think what needs to be considered with this is three things:

1. Tiered credentialing & scope of credentials

2. On-boarding / grand-parenting those who are already practicing

3. Studies on what interviewing in non-software related technical fields looks like. I see lots of anecdotes (probably data now) on what software interviewing is like, but mech / civil / elec, actuary, etc. interviewing isn’t something I’ve seen discussed as openly.

I hope I’m not misrepresenting or coming across as negative here or in what follows.

- - -

1. The F.E. and P.E. exams seem to be aimed at people with engineering degrees, so it’s the interaction of both education and practical experience being certified.

For the F.E. exams from [1], “It is designed for recent graduates and students who are close to finishing an undergraduate engineering degree from an EAC/ABET-accredited program.”

For the P.E. exam from [2], “It is designed for engineers who have gained a minimum of four years’ post-college work experience in their chosen engineering discipline.”

Even after passing those exams, there is still annual education and training requirements to maintain certification. Yes, it’s not nearly as rigorous as whiteboard coding that people are currently subjected to, but it’s not a one time activity either.

In both cases there is emphasis on college.

I’m Canadian and it’s pretty similar for P.Eng. There are some exceptions, but they do require a college education.

This leads to tiered credentialing in the Canadian system. There are:

- technicians (1 year education) - technologists (2 years of education) - engineers (4+ years of education)

There is a defined scope of work for each of these professionals. To move up the tier requires education, exams, and apprenticeship. To switch between specialties, I’m not sure if it’s possible.

Not everyone in the engineering profession needs to be an engineer. It is entirely okay to have tiers. However, tiers become very restrictive and could be perceived as gatekeeping, among other things.

2. I think there will have to be a dividing line of some sort to keep those who have valuable experience without an CS education in the field.

Something like: All people who can prove work experience and practical experience are under this one assessment and credentialing method. All others after follow a different credential evaluation method. Or the tiers allow math, physics, self-taught, etc. to be credentialed as such.

3. Technologist interview anecdote. When I was interviewing as a manufacturing engineering technologist the assessment has been:

- read a shop drawing and tell me what these symbols mean

- jump on a computer and start producing a 3D model in the software used by the company. Produce a 2d shop drawing from that model

- explain how you would come up with an inspection plan to show the product has been manufactured correctly

- solve statistics problems. Set up a control chart. Interpret what the points mean and explain the next steps. Design an experiment. Tell me the hypotheses, tell me how you would calculate sample size, how do you know that’s a good sample size?

- go on the shop floor be handed an inspection sheet and inspection tools. Check if this part conforms to standard

- whiteboard ladder logic for PLC

- handed some print outs of CNC code and asked to explain what the lines meant

Those are technical questions I’ve been asked in a series of interviews for manufacturing technologist jobs. It’s not one 8 hour day of interviews like some tech companies. It’s usually 2-3 sessions x 2-4 hours each session. That line of technical questioning is not a substitute for education. It’s on top of having education and certification in the field.

My point is I don’t think software is unique in asking technical questions. I just think it’s not as widely publicized in other fields.

[1] https://ncees.org/engineering/fe/

[2] https://ncees.org/engineering/pe/

Maybe this is a BC thing, but you should consider a second degree in computer science.

UBC [1] and SFU [2] both offer them in BC. I’m not sure if Ontario schools offer them.

From what I understand it’ll be hard to be admitted to a Canadian based CS masters without doing a second degree in CS.

UBC has some advice [3] for those students who have math, stats, electrical engineering, computer engineering or other similar degrees. The course offerings look to be about 8-10 courses depending on your background. Potentially 2-3 years of background work before grad school.

I don’t have a masters or graduate degree. Always check with the department and school you want to apply to. Some things I have been told while a student at a Canadian university follow:

- often there are specific sequences of courses required to be considered a strong candidate. These courses may be advanced electives that aren’t required for graduation. Figure out what courses admissions would use to consider you a strong candidate. Probably 400 level algorithms and CS theory courses. Take those and get As.

- Canadian MS programs usually have a research based component. There is an expectation you have faculty recommendations for research projects you’ve worked on.

If you’re interested in graphics and other specialized topics, you might need to take additional undergrad courses. See information for prospective grad students section for more [4].

Lastly CS and SE are not the same. To do CS, you’ll probably need to know how to program to implement your research. Beyond that, there will be a lot of discrete math and algorithm knowledge you’ll need to use for proofs.

[1] https://www.cs.ubc.ca/students/undergrad/degree-programs/bcs...

[2] http://www.sfu.ca/students/calendar/2019/summer/programs/com...

[3] https://www.cs.ubc.ca/students/grad/prospective/applying/eli...

[4] https://www.cs.ubc.ca/~sheffa/students.html

I desperately want to get to a point where I'm able to quickly sketch out a statistical model for making a decision

What kind of decisions do you want to make? If you offer that up, others will be able to provide guidance to frameworks used to make those decisions.

The field of operations research uses topics from all sorts of fields to try to make better decisions. I would broadly classify modelling into two large categories deterministic (e.g., how to schedule a flight crew, or where to locate a warehouse) or stochastic (using probability models, e.g., how many people to staff in a bank). Of course there is no problem that will be strictly one form or the other. There will be points in a modelling problem where it's useful to apply tools from both categories.

A decision tree might be the simplest form. You map out the different decision points and can generate costs or profits and probabilities for the decision points. You take the one that has the highest expected value (sum of probability of outcome times value of outcome) of profit or lowest expected value of cost.

Sensitivity analysis may be another tool to use in decision making. You don't need to get three decimal accuracy. Come up with some upper and lower bounds and you'll have an idea of how good or how bad the outcome will be.

Determining the probabilities and bounds may be tough, and your decision will only be as good as the data your putting into the framework.

Start with Wasserman

If you're referring to "All of Statistics" by Wasserman, then there are some significantly easier textbooks to learn statistics from. Depending on the program, "All of Statistics" is a book used by senior undergrads or grad students. Are there more mathematical heavy stats books, yes, but this isn't a casual read for someone who is trying to learn statistics either.

I like "Probability and Statistics for Engineering and the Sciences" by Devore as an intro book. It covers the basics of probability distributions, maximum likelihood and method of moments estimation, ANOVA, and linear regression. Pre-requisite knowledge is probably multivariable calculus, matrix multiplication, determinants, and eigenvalues.

Not many details were given, so it’s difficult to give specifics. Two things to keep in mind: first, take advantage of your domain knowledge; second, consider programming adjacent jobs.

If you’re having to learn both programming skills and the domain knowledge, you’ll have a hard time. You’ll be learning two things at once. You’ll be judged on both and it may be hard to diagnose what the issue is. Are you having trouble with the domain knowledge or with the programming? If you’re just ramping up on coding, it allows you to worry about improving coding ability.

Some companies have software adjacent roles such as business analyst, project manager, product manager, scrum related roles, or QA positions that you could look to jump to. From there you can switch to development. Some of those roles don’t pay nearly as well as programming, but the barrier to entry is lower. Often your deliverables would be some sort of document as opposed to working software.

McKinsey consultants are very polished in terms of how speak, break down problems etc, navigate the business world etc. McKinsey has the kind of money to host trainings year round in extremely expensive location

Can you share some of your top takeaways or lessons learned from your colleagues?

The OP answers in the comments, “It's a 2+ years experience role.”

The post also says “ I wasn’t too excited until 7th January 2021 when my recruiter called me again and said “Welcome to Apple!”.”

In terms of working at Intel, the post said internship ending December 2020, and their LinkedIn profile says, “Incoming Software Engineer @Apple”.

I agree the tweet wasn’t great, but there is info in the Reddit thread to fill in the gaps from the source.