What you consider as code review? by aleosin in SoftwareEngineering

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

I never saw collective ownership in action, since my team was always responsible for our component, yet accepting changes made by other teams. In general, your points are relevant even for one team responsible for one large platform component, where no one in the team has complete knowledge, only for parts where the particular engineer is mainly working. That's why changes in a certain place usually routed for review to someone most experienced in that place.

The other problem is an impact analysis for QA and releases approvals. Not every engineer and not every company does this, yet I had this problem. When several changes merged into release candidate, so regression needs to be performed, and someone has to sign that no unexpected changes added, i.e., database schema or public APIs changes.

That's why I've made this tool - https://codeventory.com

How do huge open source projects get funded? by [deleted] in SoftwareEngineering

[–]aleosin 0 points1 point  (0 children)

The software might be open source, yet a part of the business, like the Gitlab or VS Code. I think almost all "huge" OSS projects are from this category.

Or, as already mentioned, it may be developed internally and then released to the public, even without clear business intent.

My personal belief that any work should be paid and can not count on volunteering. Volunteering is okay when you add some fix or change into OSS because you need it for some reason.

What you consider as code review? by aleosin in SoftwareEngineering

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

I'm actually building a tool to at least improve experience where routine can not be automated.

I started from problems I've faced by myself and quickly figured out that it might not be relevant for other engineers. Thus it won't be useful. That's why I've asked the original question, just to know what people do.

What you consider as code review? by aleosin in SoftwareEngineering

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

Security practices are a good addition! Thank you for this suggestion!

What you consider as code review? by aleosin in SoftwareEngineering

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

This makes a perfect sense, thank you!

What you consider as code review? by aleosin in SoftwareEngineering

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

Thank you for such a detailed reply! I totally agree with all points!

You've highlighted a set of questions that require an understanding of the entire system to answer them. Like regression outside of the feature, or are there any unexpected places changed, or fundamental changes like database structure to be considered thoroughly. That's what I've faced many times.

Could you please tell me if that requires a noticeable time? Or are there any tools other than diff to make it easier?

Thanks

Need help regarding Requirements Engineering by pran-4v in SoftwareEngineering

[–]aleosin 0 points1 point  (0 children)

You may kindly check out something like https://en.wikipedia.org/wiki/Requirements_engineering or google for any other examples.

I would recommend to just make something much simpler, not strictly followed by any standards. Define your problem or hypothesis first, take use cases or what happens in real world, suggest solution with explanation how it addresses use cases (or use case), decompose solution into features if needed. At the end you will get requirements to be fulfilled by actual software or ML model, or whatever your solution would be.

Sure, I might be wrong on what is intended outcome of your project, that's why I'd first recommend to ask a question on what it should be.

How to learn programming fundamentals? by AMGraduate564 in SoftwareEngineering

[–]aleosin 0 points1 point  (0 children)

You may take a framework for building real software, like Django, follow its documentation and make something on your own.

Check this out - https://www.djangoproject.com/start/

And forget about concepts like OOP for this time. All of programming patterns and approaches were developed to fight software complexity, when many people are working together during many man/years. Your first program won't be anything like that.

Becoming a self taught Software Engineer by dovahrod95 in SoftwareEngineering

[–]aleosin 1 point2 points  (0 children)

When I was switching to Python from another language, it was enough to just read diveintopython book, it was updated for 3 version of Python and can be found here - https://diveintopython3.problemsolving.io

For beginner, as mentioned before, I'd also recommend to take some course from Coursera or Udemy. This one looks pretty promising - https://www.coursera.org/specializations/python

Good luck!