Skip to main content
6 votes

How to be productive around constant 4-6 min interruptions while "slow" code runs?

You cannot argue with physics. When ad-hoc calculations start to take so long they start to bother you, and you cannot optimize them any more, the only sensible option is to organize the work ...
Doc Brown's user avatar
  • 214k
5 votes
Accepted

What steps should I take to become familiar with a new code base?

It depends on your strengths. Some people learn best through tinkering. Taking the code, compiling it, poking at it somewhere, looking at the result, repeat as necessary. Some people learn best ...
Telastyn's user avatar
  • 110k
4 votes
Accepted

Is it required for an app developer to know information security?

You need to understand basic security concepts. But you do not have to be an expert. Where possible, using existing libraries is vastly preferable. Especially things like encryption are impossible to ...
amon's user avatar
  • 135k
4 votes

How to formally figure out the best design based on the informal user's description of their needs?

You actually aren't far off the mark. If your client cannot clearly say what he wants your best bet would be to 1. talk to him! 2. knock up a quick prototype 3. listen to what he says. Repeat until ...
Nick Keighley's user avatar
4 votes

Write some code and plague it with anti-patterns or not write it at all, any escape from this dilemma for a beginner?

Dilemma? I'd call this an opportunity! Definitely write the code! What it will teach you is worth so much more than the cost of having some bad code. Only when you have experienced the up- and ...
marstato's user avatar
  • 4,628
4 votes

How to ask a programmer a question without getting "Why" as the answer

Every answer here is a good answer to the "why" question, but no one has really answered the OPs question. How can you ask a programmer a question in a way most efficient in extracting the answer ...
HorusKol's user avatar
  • 4,131
3 votes

How to ask a programmer a question without getting "Why" as the answer

Good programmers don't just want to implement any solution; they want to implement the best solution for the specific issue. This requires information. Questions are the way to gather information. ...
zerobandwidth's user avatar
3 votes

Methods of ordering function definitions in code

In an Object Oriented language it is important that you can scan a class's data and public interface easily. On a code file level that means you put your encapsulated data first, immediately followed ...
Martin Maat's user avatar
  • 18.5k
3 votes

Is there a correlation between some software engineering practices and software engineering success stories?

There are indeed, attempts at quantifying these with studies, however, they are often pay-walled (like the CHAOS report by Standish group) that, according to some reviewers, show Agile projects are ...
Luxspes's user avatar
  • 137
3 votes

Write some code and plague it with anti-patterns or not write it at all, any escape from this dilemma for a beginner?

Here is another rule: Perfection is the enemy of Progress Unless you projects purpose is to demonstrate your understanding of software engineering best practice. Then you are better off with ...
Ewan's user avatar
  • 79.8k
2 votes

How to formally figure out the best design based on the informal user's description of their needs?

Your way of doing things is formally called Prototyping. With several iterations and discussions the formal name is Agile.
mouviciel's user avatar
  • 15.5k
2 votes

Write some code and plague it with anti-patterns or not write it at all, any escape from this dilemma for a beginner?

One of the tools I find most useful for working through bad code is code review. Having another pair of eyes can help you see ways to improve a bit of code in a way you hadn't considered before. ...
cbojar's user avatar
  • 4,251
2 votes

How to formally figure out the best design based on the informal user's description of their needs?

Matching "customer" expectations is a multi-parametric unsolvable problem with no closed-form analytical solution, for many reasons, of which one should be enough (as it makes all the difference in ...
Vector Zita's user avatar
  • 2,472
2 votes

Is it required for an app developer to know information security?

... in this next app the user will store sensitive data in the app ... storing the data outside user's device ... I'll need to encrypt and secure the data. is it required of an app developer to learn ...
Phill  W.'s user avatar
  • 13k
2 votes

Is it required for an app developer to know information security?

While the "heavy lifting" of constructing a crypto algorithm infrastructure might have been done by the people who work at agencies with three-letter names, it is absolutely crucial that you use them ...
Mike Robinson's user avatar
2 votes

Is it required for an app developer to know information security?

Required? No. There's no licensing for app developers after all. Prudent? Absolutely. And bear in mind that while the heavy lift of, e.g, implementing an encryption library, has been done by experts ...
Jeremy Millar's user avatar
2 votes

Publishing packages for personal and commercial use

In most jurisdictions, software that was written as part of your employment duties (aka your job) belongs to your employer. That means that you are not allowed to publish that software in any way ...
Bart van Ingen Schenau's user avatar
2 votes
Accepted

What exactly is Software Development for IoT?

The biggest difference is hardware constraints. A thermostat hanging on your wall is clearly going to have less processing power and memory space than your desktop computer. That will clearly affect ...
Robert Harvey's user avatar
2 votes

How to be productive around constant 4-6 min interruptions while "slow" code runs?

Depending on how often those happen - take a break. Get up, walk around, think, make a drink, something. The truth of the matter is that no human can be focused 100%, and no employee will work 100% of ...
jaskij's user avatar
  • 575
1 vote

Leetcode: 2327. Number of People Aware of a Secret and Problem with programming skill in general

I'm trying to provide an intuitive answer to your intuitive question here, because you're not asking how to solve the problem but rather why recursion is not the favored way of doing so. Let's explore ...
Flater's user avatar
  • 56.3k
1 vote

Leetcode: 2327. Number of People Aware of a Secret and Problem with programming skill in general

There are a number of skills/techniques/experiance that will help with Leetcode style problems, specifically: Being able to switch between imperative and functional (recursive) forms - sometimes one ...
DavidT's user avatar
  • 4,253
1 vote

Leetcode: 2327. Number of People Aware of a Secret and Problem with programming skill in general

It sounds like you're not happy with the solutions you're coming up with. Even when they work they aren't fast enough to make you happy. Keep demanding perfection and you're sure to maintain your ...
candied_orange's user avatar
1 vote
Accepted

Evolving thought process and design thinking

How would you implement a StringBuilder class from scratch? By thinking very seriously about why I have to implement StringBuilder from scratch. The proper reaction to that question is to ask "why?"...
candied_orange's user avatar
1 vote

How to formally figure out the best design based on the informal user's description of their needs?

You have found the nicest way to do it: discuss with the customer, build something, discuss and change it until the solution is clear. Basically, whenever the problem can be solved solo, do it like ...
Christophe's user avatar
  • 80.6k
1 vote

How to formally figure out the best design based on the informal user's description of their needs?

I believe you are looking for the term Requirements engineering. Do not confuse with a phase of the joke※ software methodology known as waterfall (1956). Iterative and incremental development is just ...
Theraot's user avatar
  • 9,201
1 vote

Why is studying a Lisp interpreter in lisp so important?

A Lisp interpreter written in Lisp can be given as a weekly or even overnight homework assignment. Whereas making a from-scratch interpreted language would be more of a semester project. A Lisp ...
Kaz's user avatar
  • 3,652
1 vote

How to ask a programmer a question without getting "Why" as the answer

Programmers are "hard-wired" to solve problems. Good programmers will try to solve the "right" problems. Just supplying what someone is asking for is [often] the wrong problem to solve. In the ...
Phill  W.'s user avatar
  • 13k
1 vote

Is it necessary to understand what's happening at the hardware level to be a good programmer?

It depends on the domain. Are you writing an operating system kernel? Then yes, you need a pretty deep understanding of the underlying hardware level. Are you writing a web application in React? You ...
JacquesB's user avatar
  • 61k
1 vote

Is it necessary to understand what's happening at the hardware level to be a good programmer?

It is necessary to have an idea of what kind of hardware you are targeting, and how that hardware works if you want to write code which has high performance. An example for this is coding a Multi-core ...
Shashank V M's user avatar
1 vote

At what point does "constructive" criticism of your code become unhelpful?

If your lead developer reviews your code on the weekend, then normally you would read that review on Monday morning, apply the required changes, submit them for review again, and when everything is ...
gnasher729's user avatar
  • 47.5k

Only top scored, non community-wiki answers of a minimum length are eligible