Also in any field, it ofcourse requires time, work and experience to become actually good enough to give yourself some slack.
396 karma · joined August 4, 2011
Also in any field, it ofcourse requires time, work and experience to become actually good enough to give yourself some slack.
- Be capable of 100 in normal working hours
- Be expected to deliver 70
- Deliver 80
This provides also a good buffer for errors and other unexpected stuff. And reduces stress.
From what I have seen, it really seems that the shoemakers aren't usually wearing shoes themselves. My experience is that the internal systems for example in Big Consultancies are often something that the companies wouldn't be proud to design/deliver for their clients.
Reporting is based on PowerBI and aggregations are scheduled through cron jobs to refresh the data sources that PowerBI uses. Realtime metrics are not needed, but could easily be implemented through the "session" generator by calling PowerBI Streaming API in parallel when writing a document.
It can't do miracles, but this is time saving in many cases like when you want to concatenate values from different columns in a new format into a single column and so on.
Triggers get a lot of hate because of separation from application level version control etc., but these are also long discussions to get into.
edit: This article's contents are good to be included with all the most junior level application design/development training material.
Edit: Also I've found it useful to check actual driving times for commuting and other trips. "Last tuesday I left home at 08:35 and took the tram and it took me 17 minutes."
select t1.col1,
t2.col2,
t3.col3,
t4.col4
from table1 t1
join table2 t2 on t2.colx = t1.colx
join table3 t3 on t3.coly = t1.coly
join table4 t4 on t4.colz = t3.colz
join tablen tn on tn.coln = t1.coln
where tn.colnx in (...)
-- Table 3 and Table 2 have some values while Table n value is not something OR Table n has value that is exactly something
and (
(t3.col = x and t2.col = y and tn.col != z)
or
tn.col = z
)
...
So in above you can see by the indent on which table some other table is joined to. Tables t2, t3 and tn are related to t1, but t4 is related to t3, not directly t1.Edit: The basis of succesful implementation of these tools is to have the data in digestible format and I feel that transforming the data to that business usable format is where the big job is.
In my opinion well done ETL and DW are not going anywhere, even though in some circles they are said to be things of yesterday. Then there's a huge difference between an OK ETL/DW and a Brilliant ETL/DW. Designing a good ETL process is as large parts business and context knowledge as it is a application of data engineering skills. For example, it requires business knowledge AND data engineering knowledge to determine what kind of granular level advanced metrics could or should be calculated during ETL. Service level metrics and service level categorization for different kind of customers/claims/orders/... would be a perfect simple to understand example problem - there could be attributes and value ranges behind multiple relations that probably need to be taken into account and understood.
Edit 2: I've been involved in both sales and execution of so called data discovery sprints, which are a 4-6 week periods where we bring a data engineer, a subject matter expert and client key personnel working together and let them go "fishing". The key thing is that this provides an low cost way for the clients to possibly gain insight on the potential their data could provide. On the other hand, many prospective clients just have so messy data that this data discovery job can't be recommended, which leads to other possible opportunities (MDM, ETL, DW).
With X-series Fuji provides the proven UX to handling the exposure settings, compact sizing and excellent image quality. Secretly I'm still hoping for a compact Nikon mirrorless FX body with Df / Fuji X / traditional exposure settings. Let's see!