Tuesday, November 28, 2023
Kanban vs. Scrum
Sunday, November 12, 2023
The Case Against Education
Monday, September 25, 2023
Outsourcing software development
Clearly Define the Problem and Verification: It's essential to have a detailed design and create prototypes for testing your ideas before writing a statement of work. The outsourcing partner mainly contributes in terms of usability and maintainability, i.e. they should convert the proof of concept that can barely be used by experts to a product that can easily be used by normal people.
Identify Reliable Partners: This is arguably the most challenging step. In the software world, many claim expertise – after all, it's just coding, right? However, the ideal scenario is knowing firsthand that the team or individuals you're considering are truly capable of handling the project. If you are not sure, starting with small scale (~1 week) discovery projects (free of charge) will be helpful.
Manage Budgetary Constraints: As costs rise, so does the bureaucracy and the number of required approvals. One effective way to control cost is to narrow the project's scope and build on top of open source. While it's imperative to obtain the source code from your partner, consider handling documentation, formal verification and maintenance internally.
By adhering to these guidelines, you maintain control over the project and its future maintenance. You also gain access to top-tier talent that might not otherwise join your team, all while potentially reducing costs compared to in-house development.
Friday, September 08, 2023
Cybersecurity
Thursday, July 06, 2023
Filtering software product ideas
However, despite my promise to work for free, I rarely receive a concept of operation document. It's easy to have an idea but difficult to write it down. Also, when writing it down, they think more about it and usually realize that it wasn't as impressive as they initially thought.
Music: Damon Albarn - Sister Rust
Tuesday, July 04, 2023
Studying computer science/engineering vs AI
I strongly suggest studying computer science. In Türkiye, computer engineering and computer science are considered the same, but in other countries computer engineering might have more hardware focus, which is a disadvantage compared to computer science programs in my opinion. Be sure to check their curriculum for specifics.
I also asked an AI engineer at my workplace and he said it would be much better to study computer science because it provides you with a lot more options. If you are keen on AI, you can start computer science, have more than enough AI skills by taking AI elective courses in the 3rd and 4th year. However, if AI does not meet your expectations or align with your interests as you progress in your studies, you can always work as a computer engineer. If you do an undergrad in AI, your options are limited and it is difficult to switch to other fields, don't be tempted by the recent popularity of AI. While a computer engineer can easily become an AI engineer, the reverse is much harder.
Here is a completely free Computer Science curriculum. Also check out my mentoring blog.
Music: Rammstein - Mein Herz Brennt
Sunday, June 18, 2023
Using chatGPT in my writing
I use chatGPT to improve my writing, especially for German and English texts.
Example 1: A month ago, I got a job offer from an Austrian company. While preparing for the interview, I used GPT to clarify some questions I had about typical German expressions. For example, I asked GPT to translate "could we continue in English" to German and it answered "Könnten wir auf Englisch weitermachen?" as I expected. I thought about using the word "fortfahren" instead of "weitermachen". I asked GPT "what is the difference between fortfahren and weitermachen". It provided a detailed answer but what surprised me was that it also said "...in your sentence "Könnten wir auf Englisch weitermachen?" the word "weitermachen" is more appropriate because it refers to continuing the conversation in English. If you were to use "fortfahren", it might sound a bit more formal or less natural, though it wouldn't be incorrect." GPT's ability to keep the context in mind is not something you can do with ordinary Google searches.
Example 2: I usually start a post with handwritten notes:
Then I convert my notes into a coherent whole. When I feel like there might be a better way to express an opinion but cannot remember the expression or when I am in doubt about an idiom or grammar I ask GPT:- Question: Check for spelling errors: (paste text) Answer: Shows me spelling errors
- Question: "have enough sleep" or "get enough sleep" Answer: "get enough sleep" is more commonly used and idiomatic
- Question: May I use "they" for "someone". Answer: Yes, you can use "they" as a gender-neutral pronoun to refer to "someone"
- Question: check grammar: It is depressing to realize the difficulty of changing our own faulty ideas, let alone changing others. Answer: The grammar in the provided text is correct
- Question: make better: This increases the chance of meeting someone compatible a lot Answer: "This significantly enhances the likelihood of encountering a compatible individual."
- Question: Would it be better to use "adult" instead of "equal" here: To avoid being influenced by charming yet superficial rhetoric, don't be flattered by being treated like a princess and instead maintain an expectation of being treated as an equal. Answer: Considering the context of the sentence, where the emphasis is on avoiding superficial treatment and maintaining a balanced dynamic, "equal" seems more appropriate.
- Question: rate the English level of this text out of 10: (I paste the whole blog post) Answer: The text demonstrates a good command of the English language. Overall, I would rate it as a 9 out of 10.
I can confidently say that chatGPT improves my text from being 7/10 to 9/10. It makes writing much easier and fun, I feel like I am discussing it with a knowledgeable friend.
13.08.2023: DeepL write is also nice.