“…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 |