See on üks “Sissejuhatus infotehnoloogiat” kursuse loengutest, mis kuidagi on jäänud eriliselt meelde. Ma olen seda püüdnud sundida kuulama ka inimesi, kes tegelevad tarkvaraarenduse teenuse tellimisega, et nad saaksid paremini aru, mis on oluline, kuidas erinevad osapooled mõtlevad, kus on keerukused jne. See on väga hea üldine selgitus paljudele asjadele, mis tõenäoliselt ette tulevad.
7:20 Keegi ei aja lihtsust taga peale selle inimese, kes arhitektuuri eest vastutab. Enamik inimesi püüab teha tarkvara keerulisemaks, mitte lihtsamaks. Aga vaja oleks survestada teha lihtsamaks.
9:45 Tarkvarasüsteemid on automaatselt keerulisemad kui miski muu.
10:40 Kui arendaja kirjutab tarkvara, siis sa ei saa temast mõelda kui ehitajast.
34:30 Kui sa mõtled suurest süsteemis, siis nad kõik on frameworkid, mitte nagu lihtsalt installeeritav tarkvara nagu Word vms.
35:40 Info on igal pool väga erinev. Igal vennal on oma andmebaas. See vend, kes neid andmeid tahab kasutada, peab enne üldse aru saama, mis andmed seal on, mida sealt üldse küsida saab, kuidas andmed kodeeritud jne. Ta ei saa sellest kuskilt mujalt teada kui nende inimeste käest, kes seda arendasid 🙂
TL;DR In order to create some buffer that allows me to study useful things (computer sciences) at a feasible pace I need to study… other things. And it is only my fault.
I am writing it only to clear my thoughts
All my life I have liked going to school and I still do. Initially, my idea was to come to TalTech and to study things that I need. I have written about the need here and everything in the study programme seemed to fit. And NOT to study things that I already have learnt.
I have a master’s degree in business administration and have worked 7 years in an international company. So there is no actual need (at least I feel this way) to study English (12 EAP!!!), basic economics (6EAP!!!), business communication (3EAP), entrepreneurship (3EAP) etc. It is simply a waste of my time without any benefit.
There is a VÕTA solution, that would allow me to get previously mentioned subjects “done”. The snag is that VÕTA does not help meeting the semester’s EAP requirement. And my problem is that I am not simply capable of learning ONLY computer-subjects at the pace that is needed (30EAP worth of “something from the programme” every semester) if I decide not to create a buffer with unnecessary subjects.
So, from next semester I will start learning English to create some buffer. Because otherwise, I would have to pay 40€ every semester for every EAP that I am missing from cumulative EAP requirement.
I am curious who suggested that Logic is the only recommended elective course on the 2nd semester’s standard study plan? Nothing else is not even mentioned there 😀 By forementioned KPIs it seems to be the hardest subject on the programme. And for spring semester there are plenty of other things to choose from.
Good statistics about school and subjects are really difficult to find even though we are quite often talked about the importance of high-quality data. But I found some here: ÕIS – Üldinfo – Statistika – Õppekavad – Õppeainete statistika. Quite… huh.
This is the picture of autumn semester results in the year 2018/2019 on my curriculum IADB17/17. These all are not the first-year subjects! I highlighted the subjects that I study in this first year’s first semester. I wonder what is going on with the basics of programming (ITI0102) where there are 441 students in the beginning but only 271 in the end (out of which 95% get a positive result). Our teacher Ago commented that the drop-out is ~30% and it is significant among session students (which is something I understand).
Also, an interesting finding for me is that the subject named “Sets, relations, systems” (of which I have already written here) seems to be the real gourmet subject. Out of hundreds of students, only 26 have decided to study it. And it also has the second-lowest average grade out of this selection of subjects.
I still have not found anything to use for the graduation rate.
Random things that need sharing
The canteen of IT College has its own Spotify playlist. Because why not. And I like these soundproof phone booths in TalTech Library. I like that doors open themselves. Very effective solution for minimizing the spread of viral infections though minimizing the contact with highly likely contaminated surfaces (like door handles).
Practice will make you better. Don’t expect it to make you perfect.
Malcolm Gladwell, the author of “Outliers” explains the key to success in any field is simply a matter of practicing a specific task that can be accomplished with 20 hours of work a week for 10 years (which makes 10 000 hours).
I started using Toggl to track the time that I spend on different tasks. It is a very good tool for this. For better reporting, I used TalTech as a client and subjects as projects. My tasks mainly include maintaining my online stores and doing work for school. So for reporting it is good to use TalTech as a client filter. This week I see that have spent 12 hours and 46 minutes on Python after school. It is Saturday at the moment so I expect it to reach 15+ hours coding weekly. At some point this week it made 10x what I have spent on a second subject in school.
If we say, that I started coding this week, then 12.75 hours would make 0.13% of my learning path (10 000 hours). So I say, doing it feels like a lot. Like I am always in PyCharm. But thinking that professionals do it 8 hours a day which makes 40 hours a week – it is more than 3 times what I have done this week 😀
Toggl is far from… or not
Toggl is not the one to blame. Update from week 7 is that I very often forget to turn Toggl on or off. But I think, despite the gaps in tracking I got around 35 hours of independent after school work. Most of it for “Sets, relations, systems” (all Thurdsay and Friday) because I had the test on Friday evening. Python got its 14 hours this week.
Our lecturer Ago also suggested documenting the learning path of programming. It is good to look later how it looked like in the beginning and how it feels later. So that others, who are interested in learning to code, could also understand the learning curve and possible struggles.
Practical need for skills to accomplish everyday tasks.
Long story short. As I found myself more and more working with e-commerce solutions for my family business I more often felt absolutely lost and incompetent. And at the same time maintaining (and growing) 600 k€ revenue online business as a hobby. It is hobby because I personally do not earn 🙂
So I decided to learn how things should(!) be done. Hopefully this also simplifies the purchasing process of developing services.
Some examples of tasks
Use (and build?) custom API to get clients’ personal prices to WooCommerce (WC) store.
Automatically generate XML from json to sync stocks.
Generate customized csvs out of XML to speed up data updates.
Send orders from WC to business software.
Build simple php script for price calculations from XML to WC.
Combine multiple XMLs from different sources to lower the number of cron jobs.
Build regular backup system using command lines.
I writed these down just in case. Maybe I will find these funny simple tasks by the end of curriculum.
Well. I though I should document this path somehow. So I will just take rough notes here.
I am MSc in pharmacy (graduated 2012) and MBA (graduated 2019), left my daily job after 6+ years to study tech at the Tallinn University of Technology (TalTech) on IT Systems Development program.
There are 500+ first-year students (daytime and session study combined) on this program. Though, I believe they are split between different curriculums and not all on the IT Systems Development program.