1,215 Matching Annotations
  1. Aug 2021
  2. Jul 2021
  3. Jun 2021
    1. The salary for each profession varies from similar factors. What determines the salary of software developers? After reading this article, I concluded that the greatest role is played by the country in which the developer works. For example, there are countries where developer salaries are much lower, although skills are not inferior. Skills, background and many other points also affect. Enjoy reading!

  4. May 2021
    1. Being opportunistic can be useful, but having a big positive impact often requires doing something unusual and on developing strong skills, which can take 10+ years.

      Academics (and other knowledge workers) tend not to focus too much attention on getting better. Skills development happens in an ad hoc way rather than a structured and focused approach to improvement.

    1. Purpose for the Mentor:Develop leadership skills‍Being put in the position of a role model can help mentors become better leaders and instill confidence in their leadership ability. The responsibility of helping guide someone’s career and goals requires the senior employee to teach, to motivate and to offer honest feedback in difficult conversations. All these skills are at the top of the required list for a leader.

      This is something that I've been thinking about in terms of career growth, and how one of the things we expect of engineers as they become more senior - is that they can take on leadership roles, level up other people, etc - but we often don't provide them with the tools or opportunity to work on these skills, or go into what skills are required to go into this tk.

    2. An important point to note is that there's a difference between coaching and mentoring. A coach's job is to improve a particular skill, but a mentor plays a more holistic role in helping a mentee improve

      Mentoring and Coaching are different, and being able to identify the differences between the two is important.

      For managers, sometimes they need to wear a coaches hat, or a mentors hat - but these are roles that a manager can have but not their only job.

      Considerations for L&D programs

      • how can mentoring fit in with L&D?
      • how can coaching fit in with L&D?
  5. Apr 2021
    1. Here are the economics: The cost of recruiting a midcareer software engineer (who earns $150,000- 200,000 per year) can be $30,000 or more including recruitment fees, advertising, and recruiting technology. This new hire also requires onboarding and has a potential turnover of two to three times higher than an internal recruit. By contrast, the cost to train and reskill an internal employee may be $20,000 or less, saving as much as $116,000 per person over three years.  The net savings: it can cost as much as 6-times more to hire from the outside than to build from within.
      • the cost of hiring talent vs upskilling talent
    1. GitHub Actions is GitHub’s platform for automation workflows. A workflow is a sequence of jobs that can run either in series or in parallel. A job usually contains more than one step, where each step is a self-contained function. To learn more about GitHub Actions, go through the tutorial on Continuous Integration for Android.

      Brief description on what GitHub Actions is.

    1. Preferences DataStore and Proto DataStore DataStore provides two different implementations: Preferences DataStore and Proto DataStore. Preferences DataStore stores and accesses data using keys. This implementation does not require a predefined schema, and it does not provide type safety. Proto DataStore stores data as instances of a custom data type. This implementation requires you to define a schema using protocol buffers, but it provides type safety.

      Currently, I am using SharedPreference which is still alright to use. However, there is a better option called DataStore. This allows data to be stored asynchronously.

    1. “child-directed” or “caretaker” speech.

      Child-directed speech (CDS) refers to speech from a caregiver directed towards a child, as opposed to overheard speech - for example "Is lil'timmy ready for a nappy wappy?" Speech acquisition in children is an area of particular interest for linguists because it has significant implications for later childhood development and socialization. This article is not directly concerned with language acquisition, but rather the sense of forced infantilization that users of many major applications such as Venmo or Yelp feel is being imposed on them. Still, this is an interesting way to frame the topic of app design and the implications it has for the relationship between users and companies.

      Source: Shneidman, Laura A., and Meadow, Susan Goldin. “Language Input and Acquisition in a Mayan Village: How Important Is Directed Speech?” Developmental Science 15, no. 5 (September 2012): 659–73. doi:10.1111/j.1467-7687.2012.01168.x.

    1. My favorite part of this entire plan has to be the part where I use Github Issues as a blog. Kind of. For every new feature (or set of features) I want to add to the site—no matter how small, like adding a Favicon, for example—I will open a new issue and create a corresponding branch where the work on that feature will happen. I will basically produce a(n) infrequent stream of short “blog posts” in the form of Github issues. The live code for each issue/feature will live in the issue’s corresponding branch. As someone who tends to do multiple things at once, this will take a lot of organization and discipline, and that’s the challenging part for me.

      This is a fascinating and very illustrative use of GitHub for web development. I mostly like that she's pointing out her use case.

  6. Mar 2021
    1. Why separate out red tests from green tests? Because my green tests serve a fundamentally different purpose. They are there to act as a living specification, validating that the behaviors work as expected. Regardless of whether they are implemented in a unit testing framework or an acceptance testing framework, they are in essence acceptance tests because they’re based upon validating behaviors or acceptance criteria rather than implementation details.
    2. Have you ever played the game 20 questions? Most of us have played that game at one point in our lives. One person thinks of something that could be an animal, vegetable, or mineral and then they answer yes/no questions that are asked of them. The point of the game is to ask as few questions as possible in order to accurately guess what the person is thinking.  This is how I think of the unit tests that I write the specified behavior as I’m doing test-first development. I ask what are the fewest tests that I need to write in order to assert the behavior I want to create.
    3. I am a big advocate of having a complete test base and even erring on the side of caution when it comes to quality engineering and software validation but that is not what we’re talking about here. What we’re talking about here are the tests that we write when we’re doing test-first development and I’m proposing that writing those tests from the perspective of specifying the behaviors that we want to create is a highly valuable way of writing tests because it drives us to think at the right level of abstraction for creating behavioral tests and that allow us the freedom to refactor our code without breaking it.
  7. Feb 2021
    1. Devoted to Trump, and committed to his fictions about the election, Republicans are doing everything they can to keep voters from holding them and their leaders accountable. They will restrict the vote. They will continue to gerrymander themselves into near-permanent majorities. A Republican in Arizona has even proposed a legislative veto over the popular vote in presidential elections

      The author starts the paragraph by explaining the Republicans as people who are "devoted to Trump". This makes it seem as Trump were god and everyone has to follow his orders. It gives both a humorous appeal to the audience and illustrates to them the sly techniques that the Republicans are using to escape from punishment. Furthermore, when the author said that the Republicans were ready to propose a veto against the popular vote, it was very ironic. As senators, they are supposed to give constitutional rights to the citizens, but rather they are taking it away for their own purpose. This further emphasizes the extent at which Republicans do not want to lose power to the Democrats.

    2. naked attempt to change the rules of American politics to benefit one party”

      The previous paragraph emphasizes the benefits of the HR.1 and how it specifically helped restore the voting system. However, in this paragraph, McConell exclaims that it is a vague attempt to benefit one party even though the Act was created to benefit the public. This illustrates to the readers the misuse of power by republican senators, which is one of the author's main points.

    3. — and not to lose the next presidential election the way they lost the last one. To that end, they have introduced bills to restrict the vote, to make the race for the Electoral College — a

      The author uses multiple dashes in this paragraph to show the different ways that the republicans will go to stop the Democrats from gaining power. The dashes emphasizes the extent at which republicans are willing to restrict votes. Without the dashes, it would simply sound as an example of what Republicans are doing, but the dashes creates a pause and further emphasis. Also, from John Lewis, the claim shifted to the extreme techniques that Republicans are using to stop Democratic power from taking over.

    1. Why is all this interaction code better? Two reasons: One, you can reuse the FindAccount interaction in other places, like your API controller or a Resque task. And two, if you want to change how accounts are found, you only have to change one place.

      Pretty weak arguments though...

      1. We could just as easily used a plain object or module to extract this for easy reuse and having it in only one place (avoiding duplication).
    1. What this means is: I better refrain from writing a new book and we rather focus on more and better docs.

      I'm glad. I didn't like that the book (which is essentially a form of documentation/tutorial) was proprietary.

      I think it's better to make documentation and tutorials be community-driven free content

    1. Trailblazer extends the conventional MVC stack in Rails. Keep in mind that adding layers doesn't necessarily mean adding more code and complexity. The opposite is the case: Controller, view and model become lean endpoints for HTTP, rendering and persistence. Redundant code gets eliminated by putting very little application code into the right layer.
    1. Before the pandemic, I normally called chefs after I’d written a review of their restaurant but before it was published, to check facts. The chefs usually sounded as if I were calling with the results of a lab test. One chef called me back from a hospital and told me his wife was in the next room giving birth to their first child, but — oh no, don’t worry, it’s fine, he said; in fact, I’d picked a perfect time to call! These were, in other words, awkward conversations.The ones I had last spring were different. It was as if the fear and distrust all chefs feel toward all critics were gone. They talked about going bankrupt, they talked about crying and not wanting to get out of bed. What did they have left to lose by talking to me?

      Pete highlights a key change that came with COVID, except he emphasizes the good that came from it. This compare and contrast allows the reader to see how the personalities have developed along with the times. There was a silver lining amidst the "crying and not wanting to get out of bed". The drastic comparison of his importance before and after the pandemic with a chef giving equal importance to Pete and his first child underlines just how wrong priorities were previously. His diction, utilizing awkward perfectly to encapsulate the environment surrounding his job before COVID, pushing forth the idea that good can result from change.

    1. Why not, it asked? More and more, Republican members of the House were being elected from gerrymandered districts drawn up by Republican state legislators from gerrymandered districts. Meanwhile, the Senate overrepresented sparsely populated red states, meaning the Electoral College favored Republican presidential candidates, who could then stack the court system with conservative judges who would allow Republican politicians to suppress the votes of Black and other Democratic-leaning constituencies.

      Friedman asks a rhetorical question and then builds off of it. He gives more examples of what the Republican members were doing to infringe upon the rights of all the people. He once again shows the unfair practices of the Republican Party to emphasize his point of how democracy in the United States is no longer democracy.

    2. That starts with getting rid of the filibuster so President Biden can enact his agenda for both reviving the economy and rebuilding our infrastructure. It also involves adding two senators each from D.C. and Puerto Rico — most likely Democrats at first. That will tell the G.O.P. that if it wants to hold power it has to once and for all abandon its fantasy of minority rule based largely on white voters — and take up the “growth and opportunity” strategy of that 2013 R.N.C. report.

      Next, he offers a solution. He tells the reader what type of changes need to occur in order to change the nation for the better and bring more equality. He goes from stating all the negatives of the nation and the political party to what needs to be done. He emphasize how change needs to occur after persuading the audience that change does need to occur.

    1. With the introduction of CPUs which ran faster than the original 4.77 MHz Intel 8088 used in the IBM Personal Computer, programs which relied on the CPU's frequency for timing were executing faster than intended. Games in particular were often rendered unplayable. To provide some compatibility, the "turbo" button was added. Engaging turbo mode slows the system down to a state compatible with original 8086/8088 chips.
  8. Jan 2021
    1. Over the last decade, degrowth has offered a concrete alternative to eco-modernization, projecting a society emancipated from the environmentally destructive imperative of competition and consumption. Urban development is the motor of economic growth; cities are therefore prime sites of intervention for degrowth activists. Nevertheless, the planning processes that drive urban development have yet to be questioned from a degrowth perspective.
  9. Dec 2020
    1. We are unapologetic tinkerers who neither invent the wheel, nor are satisfied with the wheels already at our disposal. The best scholarship and the best pedagogy take the best of what already exists and make it better, at least better for the task at hand. We need to embrace this identity as hackers, acknowledge our indebtedness to those who have gone before us, forsake the illusion that we are creating (can create, should create) something wholly original, but also refuse to take for granted the things that have been passed down to us.

      I think that this might be where I'm missing something. The article is about the relationship between open-source software development and scholarship, but now we're talking about "hacking" as the equivalent of a software developer. And I'm not sure that I agree with this.

      I don't think that software-developers think of themselves as hackers. For me, there's an underlying subversive nature in the hacker category, which need not be present in a software developer. There's a conflation between software developer and hacker, which misses some of the nuance that's necessary.

    2. Academic research and teaching often necessitate manipulation, re-creation, breaking, rebuilding, etc. This “manipulation, re-creation, breaking, rebuilding” — in other words, hacking

      It's not self-evident to me that these activities are the same as those associated with hacking (and I'm not talking about the malevolent/negative connotations of hacking).

      I also think of a hacker as a tinkerer, which can include "manipulation, re-creation, breaking, building, etc." but need not. It feels like there's something fundamental missing here but I can't put my finger on it.

      I don't really have a conclusion here, other than to suggest that the hacker/scholar relationship might need a lot more development than I see here.

    1. The compiler architecture moves complexity from the runtime and source code to buildtime and tools. Behind Svelte’s simple APIs sits a beefy compiler. Frontend web development has become very tool heavy in the webapp era, so in practice this adds little cost beyond what developers like myself already pay, but increased build complexity is important to acknowledge.

      tool-heavy dependence on build tools / heavy/complex build-time

  10. Nov 2020