Don't wanna be here? Send us removal request.
Text
It's time?
I dreaded writing this blog post, not because the prompt is bad or that I don’t like it, but because writing this means I will be graduating soon, and this is a (temporary) end to my education career. I have learned and grown a lot throughout the last 4 years, and Dickinson has made a huge impact on it. Despite a pandemic, quarantining, remote studying, and my study abroad plan completely falling out, I made it! Nonetheless, it’s time. And I will spend this time reflecting on what I have learned while I was a Computer Science major at Dickinson, a student in this Senior Seminar class, and a contributor to my open-source project.
Even when I was a freshman, I already declared Computer Science as my first major. I never regret doing so, and I have had so much fun bonding with both students and professors in the department. I especially remember staying up until 1 AM finishing the final project for COMP 131 (class of 2022 is the last class that got to study that course) and the Teacher Assistant was there to help us to the best of his ability. All the TAs were so nice and helpful that now as a senior, I am also a TA. This is my way to give back to the department and the upperclassmen who helped me then. Learning how to teach underclassmen computer science made me realize I need to be more patient and find easier ways to explain new concepts, this has helped me to communicate better in the long run.
The senior seminar was at first very weird to me. I thought we were bound to learn more technical knowledge and produce a “perfect” product by the end of the year, just like how other majors must publish their theses. Instead, we sat around a different topic each class and then work on our own open-source project with our groups. This turned out the be my favorite course in the major because it taught me a lot of industrial knowledge (testing, agile, data privacy, etc.) that I know I will need in the future. I know other students don’t appreciate this information very much (in fact, what amazed me was how many students raised their hand when asked if they would illegally obtain data from users if their job was threatened), but I thought a lot about this and will reflect even more when I start working this summer. I want to promise myself not to chase the money and forget my ethics when working in this industry.
Regarding the open-source project, the biggest thing I have learned from it is that I don’t hate coding that much. Ever since my software engineer internship during the summer of freshman year, I hate sitting in front of the computer coding 8 hours a day, building a website that I found no interest in. Thanks to the 8-hour delay I had during winter break, I sat at the airport and learned how to debug by myself (I usually got too impatient and then I asked for help from a colleague). I figured out there are multiple ways to fix one problem and chose which one is the most optimal. Even though I will not be coding after graduating, this year-long project made me find interest again in software engineering and the systems behind it. The mentors and reviewers of the project have helped tremendously too, and I’m very thankful for that.
I can write more and more about what I have learned throughout the years and how much it has prepared me for an “engaged [life] of citizenship and leadership in the service of society.” My end goal will always be to create a product that will have a positive impact on humankind, or at least for the greater good. I cannot thank the professors of the department, my friends, and my mentors enough for helping me along the way. Yes, it’s time to say goodbye, but I’ll see you in the future!
0 notes
Text
What determines the value of a (crypto)currency?
Cryptocurrency, Bitcoin, Dogecoin, Elon Musk, etc. have been the buzzwords these days. Even if you’re interested or not, even if you want it or not, you have heard about it. You might have even thought about investing in it. What if its value goes “to the moon” again? Or maybe you have already invested in cryptocurrency, and you are just waiting for Elon Musk to tweet about it. So, the question is, who and how to determine the value of cryptocurrency? I have done some research and thus I will try to explain this concept from an aspect of a non-business major – that is to say, as simple as possible. The point of this is to understand where its value comes from and not mindlessly invest in something that you have no idea about.
What determines the value of the traditional currency?
In the old days, the currencies’ values were derived from the value of precious metals, the most notable being gold. During the war, many countries had to get rid of the gold standard to print more money. Now, the value of a currency – issued by a country – is backed by supply and demand and the “creditworthiness” of the government (https://corporatefinanceinstitute.com/resources/knowledge/economics/how-is-currency-valued/).
What determines the value of cryptocurrency then?
It is hard to determine the value of cryptocurrency since it is not backed by any country or central authority as a traditional currency. They derive their values from other sources, including but not limited to:
1. Supply and demand
This is the only thing that is like traditional currencies, its value is also based on supply and demand. To put it simply: if the demand increases faster than supply (which every cryptocurrency only has a limited amount of supply), the price goes up. Demand can increase when the currency gains recognition. That’s why when Elon Musk tweeted about Tesla accepting Bitcoin as a method of payment, or when other financial institutions started to invest in it, the price of Bitcoin goes up – more and more people are buying it! (https://www.fool.com/investing/stock-market/market-sectors/financials/cryptocurrency-stocks/value-of-crypto/#:~:text=The%20value%20of%20cryptocurrency%20is,if%20demand%20doesn't%20change.)
2. Cost of production
It is a known fact that mining cryptocurrency is expensive (and harmful to the environment). Mining – or computing a different algorithm – is the act of creating a new coin. It requires a lot of computing power and expensive equipment to mine one coin. Adding to the fact that there are a limited number of coins to mine, the price of the cryptocurrency will increase. This might be the only proof of the physical value of these currencies too. (https://learn.tradimo.com/cryptocurrencies/crypto-value)
3. Regulation
Since cryptocurrencies are relatively new, there are still a lot of questions regarding regulation from central governments. However, China’s ban on bitcoin trading and bitcoin mining has affected the cryptocurrencies’ values. Same thing with the United States Securities and Exchange Commission allowing trading of the first ETF – the price of Bitcoin surged above $60,000 (https://www.investopedia.com/tech/what-determines-value-1-bitcoin/). However, more governmental regulations also undermine the true values of cryptocurrencies – a decentralized currency. Thus, if more regulations are to happen, it might have the opposite effect on the currency.
Other factors that determine the value of cryptocurrency include competition, news development, mass adoption, node count (https://learn.tradimo.com/cryptocurrencies/crypto-value). However, it is also undeniable that the price of cryptocurrencies is still very volatile – an individual can increase a currency by 392% (https://www.thestreet.com/investing/cryptocurrency/is-elon-musks-dogecoin-on-its-way-to-1). Thus, if you are looking for a safe and long-term investment, this is not a good choice. However, I don’t think it is bad to “risk” some money – as long as you are willing to lose that money
0 notes
Text
Ethics in Tech: How to Decide What Information to Get from Your Users
I have had 2 years of experience from working in the tech industry (as an intern, but still) and I’m still surprised with how little I know about ethical issues with my products. So, as an incoming product manager - this time, with actual responsibilities now, I think I need to curate a list of what to think of when designing a new product.
Ethical issues in Vietnam
It’s important to talk about my experience in tech because it has built up who I am and what I think of this issue. To go back to my experience of interning, I first worked as a product manager intern for a company that is a subsidiary of Allianz SE. You would think that since it’s one of the biggest companies in Europe, it would give us a pretty good sense when it comes to ethics. But I didn’t learn anything regarding this aspect at all while designing my product. More surprisingly, when I was in a meeting that the business team proposed about how our company is projected to make income – 60% should be from selling data to third parties, 20% from our investment product, and the last 20% from our lending product. I was surprised at how expensive selling data can be and disappointed at the same time. But at that time, I wasn’t disappointed because our company is not standing up to my ethics, but because I spent so much time and effort into creating a product that would not even make up half of the company’s income. I understood the company was desperate – they were in their third year of operation, and they were still not making any money. But now, looking back at it, I should have asked more questions, like who are we selling our users’ data to, or what kind of data is being sold?
I dig deeper to see if students in Vietnam or tech users are concerned at all with their information being leaked/ sold. It turns out Vietnamese students who major in computer science, information technology (IT), or any related majors are not even required to take any courses related to this topic (https://www.bachelorstudies.com/Bachelor-in-Computer-Science/Vietnam/Bach-Khoa-University/). Vietnamese people are still clueless regarding their data being sold to third parties and the government is still drafting up their newest regulation (https://www.mondaq.com/data-protection/1140256/update-on-vietnam39s-draft-decree-on-personal-data-protection).
Ethical issues in the States
With a long history of technological advancement, tech companies in the US are more transparent (or they were forced to be more transparent). A prime example of pioneering in this topic is Apple – they let users choose what to share with app developers. They also prevent a lot of websites from tracking their users unknowingly. Microsoft, Intel, LinkedIn, etc. are all following good ethical practices and education to their employees. Nonetheless, a lot of apps are still tracking users unknowingly and it’s a problem that is not being addressed enough (https://www.nbcnews.com/tech/tech-news/thousands-android-apps-improperly-tracking-kids-data-says-study-n866711)
Most colleges in the States for related majors also require either a philosophy course or a seminar where students discuss this topic (https://www.nytimes.com/2018/02/12/business/computer-science-ethics-courses.html). However, with more boot camps being offered for a shorter amount of time and the competition with offshore companies from a third-world country, this problem is coming back to be a huge issue. Along with the development of AI (deepfake to be specific), the country’s legislation is still quite behind with updating its policies.
What to think about when designing a product that protects users’ data?
When designing a new product, it is one thing to put users first, but I also understand you need data to improve your product and you need to make a profit from the app too. So, how can we balance the two?
- Only acquire the necessary information, especially if you want to publish your app on Apple Store.
- If you are collecting any data, be transparent with your users – what you are collecting and how you are using that information.
- Make your app as secure as possible, test and retest your security so there’s almost a chance there’s a security leak.
- Start with these ethical practices as soon as possible, don’t put in these features later in the product’s life cycle.
I know being a product manager is hard enough balancing between stakeholders and users, and now you must think about these ethical issues too. And sometimes, implementing these features cost time and effort (and money). However, in the end, the user’s satisfaction is our goal and I’m sure it will put a smile on your face knowing you did the right thing. Cheer up and keep on doing it!
0 notes
Text
Software Testing - What is that?
Talking about software testing, I am quite confident about this topic. After all, I have experience being a software tester - both manual and automation before. I was responsible for one whole project and being a manual tester is also the most stressful position I have ever done.
What is a software tester?
Tester, or a Quality Control/ Quality Assurance (QA/QC) is the one who is responsible for testing the software before it is released to the public. You can be a manual tester: someone who tests the app manually without touching the code, or you can be an automation tester: writing codes to test the code. There are different types of software testing: functional, non-functional, regression, etc. Testing is an important part of a software, and hence a tester is also an important part of the company.
What a day of a tester looks like
This applies specifically to an Agile environment, but you start off your day with daily stand-up - where people talk about what they have achieved the day before, what they plan to do, and any troubles they are having. The next thing you do depends quite heavily on how close you are to the release deadline. At the start of the project, when the product owner/ product manager have finished writing their user stories, your task is to read those user stories and write test cases for each of them.
If you are in the middle of the project, your task is to test any features that have been moved to DONE and log bugs if any. If any bug’s status is moved to FIXED, you should be able to verify if it is actually fixed or not. Now if you want to be a tester, be ready to argue - those software developers will come for you to explain why it is not a bug, you should keep your stand and show evidence when you are ready.
One more thing to notice when logging a bug - its priority. Usually the priority of a bug goes like this:
- Highest/ high: bug needs to be fixed immediately, you cannot continue testing if this bug still exists
- Medium: some logical errors (calculations, reports, etc.) but you can continue testing other features with this bug
- Low/ lowest: usually some UI/ UX errors, not very important
Software developers are also sensitive about this priority problem too because 1) The code cannot be deployed to a higher environment if there are too many bugs with high/ highest employee and 2) They don’t want to fix it right away. But you have to stand with your opinions and tell them to fix those bugs. After all, we all want a great product to be delivered, right?
By the end of the project, which is also when the deadline is coming close, your tasks become more stressful and tedious. You have to retest all your test cases for each environment and when the software developers are behind schedule, you are too and there’s nothing to be done about it. You are the first person to be responsible for the software when a bug is found and you missed it throughout the development cycle. I remember the first time I was scolded, it was because I couldn’t find out the bugs on the lower environment, and because I let the product owners found out about them later.
Can you be a tester?
If you have an eye for details and a passion for your product, you can definitely be a tester. It is a stressful and tedious job, but the fun of finding out a bug, improving the software and writing test cases are there for you to explore.
0 notes
Text
H/FOSS: history and philosophy
Whenever my friends from other majors ask what I have to do for my senior seminar, I find it hard to explain for them that we are working on a free open-source project. I mean, it doesn’t sound cool like business students who try to propose and run a business, we are also not humanitarian majors, who have to write a 50-page long thesis to be able to graduate. At times, I simply resolve to saying that we are working on a coding project.
What is FOSS?
But what is a free open-source software (FOSS)? It’s not only an app or a website that we can use for free on the Internet. It is more than that. Sometimes, the software that you are paying money for has also a part of FOSS too. FOSS has been a huge part in the development of software history and without it, we would be amazed to find out the Internet right now would not be the same.
A free open-source software means that the source code is open for everyone to use, distribute, and modify it. FOSS also allows users to freely contribute to the source code, and by doing so improve the software even more.
History
Software sharing has been as old as the stare of the software itself. Many people in the early age who were able to get a computer were highly educated - they wanted to modify the software and make it better. Manufacturers even encouraged this as they put a heavier emphasis on the hardware and of course, when their products improved, it became more profitable for them.
As the technology industry matured, hardware was treated as less of a priority and now manufactures focused on developing their software instead. More copyrights reinforcement made it hard for people to freely distribute and share the software. By doing so, proprietary companies can get more profits by selling the machine and the “added values” that come with it.
But the world would be boring if people adhered to rules without questioning it. There has to be someone who would stand up against these capitalists and do something, right? And that person is Richard Stallman. He started the GNU Project and the Free Software Foundation. Stallman (along with Linus Torvalds) created a new operating system that is essentially the backbone of a lot of many computers today - the only difference is that it is freely used and distributed by everyone. In addition, he also invented a new copyright license - GNU General Public License (GPL) that guarantees his code, or any other software that uses his code will be forever free.
Philosophy
One other open-source project that was created was the Berkeley Software Distribution (BSD). They did not raise any political statements about propriety properties, but they still practiced FOSS. More and more organizations were created with this philosophy of making the software free and easily distributed.
The philosophical ideology is divided between software engineers. Some think it is absolutely necessary that people stand together and fight against propriety companies. Others take a more neutral role - they don’t have a problem with it, they just get excited to work and improve the technology that they are using. Just like any political arguments, there’s no ending to it - they just eventually collaborate and live together like communist and capitalist countries. The free open-source projects produce some very high-quality code, and businesses started to take notice of them. Propriety companies aren’t decreasing, and neither are FOSS.
What do I think?
Like a computer science major, I have never thought much about politics, let alone software politics. However, I have noticed more open-source projects now belong to private companies (some of them can be found in the photo). Pull requests from users (non-employees) rarely ever gets noticed or merged. But it is still a good platform to get feedback from people who are using/ understanding the product as well. If the technology that I am using gets better, I have no complains.
0 notes
Text
First post
This blog is being created for my COMP491: Senior Seminar course and it will be used to post reflective writing on reading and discussion topics related to social, ethical, and legal issues in technology.
My plans after college are to find a job and move out to live alone. I am actually afraid of changes and I am very introverted so I’m quite nervous for what about to come. With that being said, I want to be outside of my circle and improve myself even more everyday. I have been applying to jobs without much luck but I guess you will have to keep trying until you make it.
1 note
·
View note