“…be agile.”
“…Curiosity doesn’t kill the cat – it makes you into a Lion!”
In Summary:
We continue on from the previous episode, and are talking WORK with Pius. In this episode we dive into things like:
- How to get started in Software Development
- What is Agile Project Management?
- What a typical day is like for Pius…
- What led to Pius getting into Software Development in the first place,
- He gives some great advice for those considering a career in Software Development
- And much much more!
You don’t get the chance to speak with someone about this type of thing very often… so please enjoy episode 10!
Podcast Content and Show Notes:
Please note that I have no affiliation with any products or companies which are referenced in the show notes / hyperlinks. They have been provided for reference purposes.
Also, timestamps may differ slightly by a few seconds.
00:02:03 | Plenty of material online for anyone interested in getting into software development |
00:02:27 | Parents getting their kids started in programming from as early as elementary school. |
00:02:57 | Attributes a lot of his success to the fact that he started (programming) at a young age. |
The earlier you start the better | |
Children are learning code gradually at an earlier age | |
00:05:03 | Do you need to be good at math/school to get into coding? |
The use of existing libraries | |
00:06:11 | Matrices and their use in 3D graphics |
Terminology mentioned: | |
Sine, Z function, differentiate, integrate | |
Vectors | |
00:08:06 | If you can think logically, and you can break up a larger problem into smaller problems, you can do programming. |
00:08:49 | Many different types for of programming for different types of preferences (mathematical, graphical, etc.) |
A lot of misconception about development | |
People should be encouraged to get into it, rather than automatically discounting themselves from trying it out. | |
00:09:36 | The best kept secret about IT/coding is that it’s “friggin easy”. People think that it’s much harder than it actually is. |
Learning more about it will help you see it’s not as cryptic as it looks, but also gives you a better appreciation for the more complex problems, and resolving bugs. | |
00:11:13 | But there are also cases when it can be harder than it seems. It goes both ways as well. |
00:11:47 | Pius has been a senior software engineer in the industry for over 12 years. |
00:12:08 | How would you describe your typical work day? |
Work-life balance for developers is pretty good | |
Flexible working hours and working environment | |
Current company is a 38hr work week (8.5hr day including lunch -> 9am ~ 5:30pm) | |
Not required to, but often works overtime | |
Agile Project Management | |
Pius mentioned this is “considered the best” | |
Please note that this is specific to his software development environment. | |
Agile is good in many scenarios, but not always. For more information please refer to here. | |
Some related terminology: | |
Daily Stand-up Meeting (also known as the Daily Scrum) | |
Backlog | |
Sprint | |
Release | |
Feature | |
IDE (Integrated Development Environment) | |
00:17:08 | Every time a coding task is completed, can check the code and see what he’s done on his computer. |
Gets a sense of reward from this. | |
00:18:11 | From about what time do you actually start coding in the morning? |
Slack – Communication tool | |
Pius’ typical morning | |
Code Reviews | |
Considered “good practice“ | |
Pull request | |
Master / central repository (of code) | |
Functions | |
00:20:29 | How often do you do code reviews? |
00:22:09 | Do you guys have a lot of meetings in general? |
Product Manager | |
UX (User Experience) Designer VS Developers | |
Developers: communicate well with machines, but not necessarily great at the human interaction aspect | |
Stereotypical nerd: Sheldon Cooper | |
Collaboration required between UX Designers and Developers | |
Tech Reviews | |
Meetings where wire-frame or completely finished polished designs are reviewed and discussed. | |
Some people make estimations in time (hours), others using (story) points | |
That is making estimations in time VS effort | |
In Agile estimating the amount of effort required is often considered more useful than estimating time required. | |
Review bugs | |
00:26:18 | Developing software is a collaborative process (not locked in a room churning out code) |
Communication skills emphasised as much as technical skills | |
00:27:54 | Extra information about the following topics to be given in the show notes (which is here!) |
Effort estimation: Days vs Hours vs Points (refer to notes at: 00:20:06) | |
Cloud | |
Agile Project Management (refer to notes at: 00:10:05) | |
Vs Waterfall Project Management | |
Fail fast | |
00:30:26 | Agile started in the Software Industry, but increasingly being adopted in other industries as well, as can be seen in Pius’ company as well. |
It’s all about having a feedback mechanism as part of the process, rather than at the end. | |
00:31:11 | Coming back to Pius’ typical day, when abouts does Pius have lunch? |
Weekly Netflix sessions at lunch time | |
Currently watching Black Mirror at the moment | |
The benefits of doing activities like this. | |
Season 3 Episode 1 – was a very good episode | |
00:33:21 | Back to a typical day, after lunch, how does the rest of the day typically unfold? |
Flexible, friendly, cozy work environment | |
It’s importance in recruiting top talent | |
Working from home | |
Working in a small vs large company | |
00:36:55 | Typically how long does it take to complete a task in your backlog? |
00:37:58 | Coding that they do is mostly fixing bugs in existing product(s), or doing new stuff? |
Bugs take 10-20% of the work | |
The importance of giving developers creative freedom | |
00:39:58 | When the customer is a developer himself, and starts being a little rude.. And Pius schools him.. And then solves his problem… that feels amazing. |
00:41:03 | The very cool to-do / timesheet system of the product Pius works on at his workplace. |
00:43:35 | Fulfilling a cheeky request for a customer! |
00:46:18 | What makes a typical day a great day? |
Solving difficult problems | |
00:48:57 | What makes a really crappy day? |
They’re pretty rare. | |
When you have an argument with another developer | |
Design Patterns | |
00:50:36 | How do you resolve these arguments (if at all)? |
We don’t discourage disagreements, but we do discourage rude behaviour. | |
Disagreements can be constructive | |
Being able to have these types of conversations is an important skill | |
00:53:30 | What is it about your job that you love? |
Sense of satisfaction | |
Building something you believe in, something the customers love – this can be rewarding than money. | |
00:54:39 | What do you hate about your job? |
Small company, not much room for promotion, and hence pay rises. | |
There is a price for being in such a flexible/good environment. | |
Got paid higher than others quicker, but pay hasn’t increased much since reaching that milestone. | |
Companies mentioned: Google, Atlassian | |
Didn’t want to remain “pigeon holed” into a single role, while working for a big company | |
Working for a small company you get exposed to many different types of things. | |
Often speaks to the CEO, and has learnt a few things about business and startups. | |
01:03:01 | When or how did you know decide that you were going to work in Software Engineering? |
When Pius was 14…. | |
This was before the high school course was even available (Software Design and Development) | |
Started doing tutorials in an old language called Pascal. | |
Developed his own game. | |
Terminology mentioned: | |
UI | |
Star Wars | |
X-Wing | |
TIE Fighter | |
A-Wing | |
B-Wing | |
Trigonometry | |
Sin, cosine | |
Started University in 2004 | |
This was the time of: | |
MySpace | |
YouTube | |
eBay | |
01:12:34 | Realising the huge potential of The Internet, and getting a job at Sydney University, while attending UNSW |
Terminology mentioned: | |
Backups | |
Databases | |
01:14:23 | What qualifications would someone need to do your job (general kind of field – Software Development)? |
The only qualification you need is: enough money to get a laptop. | |
Good to have a degree (e.g.: Computer Science) | |
At least 3-5 years relevant experience to become a senior developer | |
Terminology: | |
Project Management Methodologies | |
Agile | |
You need experience to get a job, but you can’t get a job without experience | |
Not necessarily true in Tech. | |
Terminology: | |
Swift Development Environment | |
01:19:10 | Do you need a Uni degree? |
Adobe AEM | |
Bitcoin | |
Bitcoin Mining | |
whitepaper | |
01:22:15 | What did you study in Uni? |
Terminology: | |
Back End and Front End | |
GET and POST request (also includes info about GET parameters) | |
Post header | |
Computer Science Degree vs Software Engineering Degree | |
01:26:31 | Is there any other general advice you would give those interested in pursuing a career in this field? |
Most important thing: having the enthusiasm, persistence and self-belief | |
Be curious (technology is always changing) | |
It really pays to be curious… Curiosity doesn’t kill the cat – it makes you into a Lion! | |
Lots of new tech these days: | |
Robotics | |
AI | |
Cryptocurrencies | |
01:28:43 | If you could have done it all over again, is there a different occupation or career you would have pursued. |
New law will be introduced in Europe soon: GDPR |