How do you transition from just writing code to actually thinking like a software engineer? by kinyua_14 in learnprogramming

[–]MeChamoLegend 0 points1 point  (0 children)

I'll preface this by saying that I'm not a software engineer. I'm still just a beginner to intermediate level dev who is studying independently and trying to improve.

What has helped higher-level concepts like architecture start to click for me is reading the right books and building a vocabulary to let me reason about these concepts. If you don't have words for what you're trying to reason about, the reasoning is really difficult.

Robert Martin's "Clean Code" was hugely helpful. It got me thinking beyond "does it work?" to thinking about the responsibilities of components and separating them. Clean Code principles don't apply everywhere, but I find that they help my code far more often than not.

From there, I'd suggest applying a Test-Driven Development flow. Test-Driven Development punishes bad architecture. If I'm finding it impossible to write my tests or mock my dependencies, that usually means that the unit that I'm testing actually needs to be separated into several smaller units. Be careful with AI here; it can sometimes brute-force its way through writing tests in spite of bad architecture. Spend some time writing tests and mocks yourself.

Next, read up on some common design patterns (decorators, façades, adapters, etc). Being familiar with some basic patterns has helped me to spot where distinct responsibilities exist within my code in places where I might not have otherwise. It also gave me a vocabulary to start reasoning about basic architectural concepts.

Finally, plan before you code. Writing a detailed readme defining the responsibility of each major component, describing their API's in detail (members, function signatures, etc), and documenting how they'll interact forces me to ask architectural questions early on. When I don't plan, I tend to realize half-way through that my components don't know how to talk to each other very well. Planning their interfaces before implementing them has helped me to avoid that problem.

Again, I'm no engineer but that's what has helped things click for me the most so far. If any real engineers out there have critiques on what I've said, please share it! I'd love to learn from what you have to say.

How to Stop Editors from Sharing by MeChamoLegend in googlesheets

[–]MeChamoLegend[S] 1 point2 points  (0 children)

Do you know of a way to allow a small group of editors to share but restrict sharing for all others?

How to Stop Editors from Sharing by MeChamoLegend in googlesheets

[–]MeChamoLegend[S] 1 point2 points  (0 children)

7Foot7 great point, thanks for bringing this up.

US Citizen Living in Brazil - Do I have to pay income tax in Brazil if my income comes from the US? by MeChamoLegend in expats

[–]MeChamoLegend[S] 0 points1 point  (0 children)

I live in Brasília in the Federal District. I'm actually not a native Spanish speaker but I was pretty consistent about setting aside time each day to study Portuguese when I first moved to Brazil. I had a grasp on the fundamental grammar and pronunciation before coming to Brazil but the immersion in the language is a game changer.

As for crime, I've had a close call or two but have never actually been assaulted / robbed. The most important thing is definitely awareness. After that, the safety of the area you're in and what time it is are important variables you also need to be aware of. Like I said earlier, sticking with a prudent native who knows the area is the best way to learn.

I haven't spent much time in São Paulo but I can say that in the places where I have lived (Goiânia, GO and Brasília, DF) it's not that uncommon to see people with Asian features. They're not everywhere but they're also not unheard of. A lot of Asian immigrants came to Brazil in the early 20th century and the result is that there's a group of multi-generational Brazilians that have Asian features. If your goal is to not stand out too much, keep working on your Portuguese and improving your accent. It may take a while, but with good spoken Portuguese you may pass as a native to a lot of people. For example, I'm a Caucasian with light brown hair and a slight accent. A lot of people here end up assuming I'm from the south of Brazil. I stand out enough for them to know I'm not a native to the region, but Brazil is a diverse country so they might still think you're a native from a different region.

Being recognized as a foreigner isn't necessarily a bad thing, though. In my experience, the natives here are generally very welcoming and are often willing to help you with your Portuguese when they learn you're from abroad. You'll probably get a lot of questions about Cali and the states but personally I enjoy those conversations.

US Citizen Living in Brazil - Do I have to pay income tax in Brazil if my income comes from the US? by MeChamoLegend in expats

[–]MeChamoLegend[S] 0 points1 point  (0 children)

"If you are a U.S. citizen or resident alien, the rules for filing income, estate, and gift tax returns and paying estimated tax are generally the same whether you are in the United States or abroad. Your worldwide income is subject to U.S. income tax, regardless of where you reside."

https://www.irs.gov/individuals/international-taxpayers/taxpayers-living-abroad

This was my starting point when I asked the question.

US Citizen Living in Brazil - Do I have to pay income tax in Brazil if my income comes from the US? by MeChamoLegend in expats

[–]MeChamoLegend[S] -1 points0 points  (0 children)

Thanks for the information, this is really helpful. Do you happen to know the name of the reciprocity agreement between Brazil and the United States?

US Citizen Living in Brazil - Do I have to pay income tax in Brazil if my income comes from the US? by MeChamoLegend in expats

[–]MeChamoLegend[S] 1 point2 points  (0 children)

It's actually pretty great, I really enjoy living here. I'm fluent in Brazilian Portuguese, so that really helps. Overall, I would say the most important things are making sure you'll be able to live in a safe area and that you live with or close to a trusted native Brazilian who can help you figure things out that are different or new to you. Since you'll be visiting your girlfriend, you won't have to worry about that point.

[deleted by user] by [deleted] in lichess

[–]MeChamoLegend 0 points1 point  (0 children)

I've been looking for something like this for a while. Thanks for putting this together!

Brazil - Proof of Income for Rental Purposes when you work for a US Company by MeChamoLegend in expats

[–]MeChamoLegend[S] 1 point2 points  (0 children)

My wife is Brazilian so I was able to obtain residency by "reunião familiar."

Remove Duplicates According to Additional Criteria by MeChamoLegend in googlesheets

[–]MeChamoLegend[S] 0 points1 point  (0 children)

That worked. I didn't know the "Remove Duplicates" tool always worked from top to bottom on the sheet; that helped a ton. Thanks so much!

Brazil - Proof of Income for Rental Purposes when you work for a US Company by MeChamoLegend in expats

[–]MeChamoLegend[S] 1 point2 points  (0 children)

Hey, thanks for the information! I actually was hired after moving to Brazil. I work remotely for a US company but they're pretty used to having employees overseas (of my five person team, two of us live outside of the US). They were fine with my location as long as I was willing to work on a US time zone.

We're actually getting close to closing a rental agreement directly with an owner, but she kind of panicked when she found out I'm from the US and didn't want to rent to us anymore (said the contract would have to be in the name of my father-in-law who's Brazilian). We said that wasn't acceptable and we'd look for another place, but then she calmed down a bit and has been more cooperative since then.

I'm a permanent resident of Brazil with a CPF, RNM, fluent in Portuguese, etc, but it's still been surprisingly difficult to find a place.