[AMA] I am a Software Developer in Sydney, Ask Me (Almost) Anything

Hi guys

I'm a software developer in expensive Sydney, you can ask me almost anything :)

Cheers

closed Comments

  • +2

    What do you develop software for? Which language do you use? How did you start?

    • +3

      Various industries: finance, travel, education…

      I use Java/Groovy/Scala for back-end stuff, Swift for iOS, Javascript for front-end stuff. Also know a bit of shellscript and Python.

      Started as an international student in Melb, then continued my Master degree in Sydney, then got a full time job as graduate and went from there.

      • +16

        Friends dont let friends use Groovy.

        • +7

          Hi 11…

      • I'm interested in your Scala usage, because I had a bunch of fun playing around with it + the Play Framework at home (~2012 IIRC), but ultimately decided it wasn't for us. I'm grateful that it pushed Java in the right direction though…

        • I assume you guys adopted it before Java 8 was released?
        • Has it worked out well?
        • Do you still use it for new projects?
        • I imagine it's hard to find talent? Ex Atlassian-ers?

        Cheers.

        • I learnt Scala before Java 8 was released.

          We wanted to use Akka and Kafka so Scala was a no brainer. But we don't use Play framework. Of course we will use it for future projects appropriately.

          It's hard to find talent, always, because talents do not come cheap ^_^.

          I never worked with anyone from Atlassian.

      • Do you know Prolog or Haskell?

        • I haven't heard of Prolog.

          I know of Haskell but I can't use it… it is just not my type.

        • +2

          @kaitok:
          Prolog is used for AI coding, at least back in the 90s.

          Btw, what do you think about the fresh migrants from India & Philippines who recently arrived and found out that their jobs are being outsourced back to their home countries?

        • +1

          @blaccdong: I think they can rest assured that they will be doing the same job (or more interesting job) for much more money

        • @kaitok: Do you believe that outsourcing software developers overseas are in the best interest of companies, in the long run?

        • @blaccdong:

          IMO

          Normally the board makes the decision of outsourcing to save cost and expand at the same time…

          If the company has a solid core tech team and feel like they can outsource less important works overseas while being able to manage the remote teams properly, then yes, otherwise no.

        • @kaitok:

          It's a worry you haven't even heard of Prolog. What the hell are they teaching at uni these days? (It is not a worry you haven't used it in anger).

        • +1

          @syousef: Current uni student here studying compsci. They teach us useful things. Prolog is a language that has lived it's days and you wouldn't hear any self respecting uni lecturer/tutor talk about prolog anymore since.. well it's kind of useless today. I don't see what you can't do in prolog that you can't do in python more efficiently and easily. Also AI has shifted more towards machine learning which is done almost exclusively in python.

        • @claritize: All these different methodologies have different pros and cons depending on the scenario. Being aware of these things will help you adapt to the different problems that come up in the real world - just about everything can be done with every language! It's about using the right tool for the problem.

          I think learning some basic Haskell significantly improved my programming ability.

        • @claritize: If memory serves, Prolog’s point of differentiation is that it is a declarative language :)

        • +3

          @claritize:

          HA! University isn't a trade school. Your attitude sucks for a Comp Sci. Heck it sucks for a BIT. It is EXTREMELY useful to understand the difference between Object based/oriented, procedural, functional and declarative/logical languages. Prolog is a declarative/logical language. You don't have to become proficient in it or use it commercial to benefit from learning the background. You should know what different language types can and can't do, which is impossible if you focus on one or two.

          You should get to the point where a language is just a tool and you can pick up a language in a few days (The real learning of an environment is learning the libraries and idioms. I wouldn't expect you to pick up J2EE in a few days, but basics of Java yes for sure).

          I'm in my early 40s. Do you think I'm using exactly the same versions of exactly the same languages I was learning in my Comp Sci? Do you fancy becoming osolete 5 years after you leave uni?

          I have programmed commercial in Dataflex/Powerflex, Visual Basic, Power Builder, Delphi, C, C++, Java, various variants of -SQL and not to mention bash and windows cmd scripting. At Uni you can add Miranda. Hobby projects etc I could add several other languages. I've played with Lisp and Prolog but only very briefly. A language is just a tool. Very useful understanding what's in the toolbox. And the more languages and styles you know, the easier it is to pick up another.

        • @syousef: Sorry but I'd have to disagree. While being a jack of all, master of none used to be the thing, companies seem to be looking for someone who is excellent at a few things. Try getting a job doing AngularJS, sure, it's just JavaScript, but most likely someone with Angular experience will get in ahead of you with all your languages, even if you state JavaScript profiency in your cv….

        • @garethb:

          …and your expertise in AngularJS is likely to be as useful in 10 years as my experience with Oracle Forms, Visual Basic and Powerbuilder is today. At entry and mid-level, everyone wants 10 yrs experience in languages that have existed for <3yrs. That is a cancer within HR/recruitment and is possible due to the current job market being tight. When you hit your 30s and 40s it won't matter what you do, you won't be able to compete with 20-somethings straight out of uni that have been working with $LATESTTECH. Even if you're as good or slightly better, they'll be cheaper.

          If you haven't got a proven track record later in your career, consider your career hosed. If you want to be employable, make sure you have a resume full of examples of the critical applications you've designed and built. For example, I have a sourced quote on my resume about one of the systems I added enhancements to that states an impressive number of dollars being processed each day. Someone trusted me to touch that code with those dollar amounts involved.

          Supplement that with proof that you have knowledge of whatever $REQUIREDTECH is - certifications are ideal, but serious courses may get you considered, and aim for team lead and advanced design or find a niche in translating business requirements. That kind of thing. At some point you won't want to be chasing roles that require 5 years experience in X. You'll be chasing roles that require a 20 year track record and recommendations from people who've worked with you and whose problems you solved.

          Another thing. If you want to stay technical and not go into people management a lot of the HR/recruitment types will ping you for not having moved on from a technical role. I once submitted my resume for review with a recruitment firm and the main piece of feedback I got was "x years in the industry with no significant management experience". That despite having led teams, filled in for my manager on numerous occasions.

          You can dismiss what I say. That is your choice. But do it at your peril.

        • @syousef: well, I am mid 30s. And I gave up my team lead role in one of the biggest financial firms to get back into actually developing than managing as I enjoy it more. I find my current skill set is still in very high demand. That being AngularJS/.net today built on a very solid JavaScript/C++ foundation. Sure, it may not be around in 10 years, and maybe I'll look into management again later, but as long as I keep my skill set current, I think I'll be ok, at least for another 10 years until I feel the need to jump on the next train :)

        • @garethb:

          It's your career, and you know it better.

          But just one more morsel for you to think about: I got the biggest jump in my career signing on with a small consultancy to do Internet Banking and Insurance project work because my resume came up when they were searching for a developer who knew Smalltalk. This firm used IBM VisualAge Smalltalk for their backends and Java for the frontendsback in the early 2000s, transitioning to Java by the time I left.

          Why did they find my resume? I had done a uni subject in Smalltalk. It took me a couple of weeks to get good at the syntax learning from a Youtube series of uni course lectures. Probably a month more to get better with the libraries. I haven't used it in 13 years now, but I wouldn't hesitate to pick up another language.

          I wouldn't have done so well if I ignored niche languages.

        • @syousef:
          YouTube was launched in 2005.

        • @Frugal Rock:

          I don't know if you're insinuating that I'm lying, but if so you're wrong, and you're also being a bit of a knob.

          I actually left that job in 2005. So it would have been different video shared on the Internet, not Youtube. I do remember it was an American University. I think mid-western. I also remember my boss cautioning me not to watch the video on client site because it could be seen as training on the client's time.

        • @syousef: I know what you're saying, but I got a job outside my comfort languages and found that I started falling behind in my preferred stack. I guess I'm lucky I was thrown into the Microsoft stack early on in my career and .net and JavaScript are always in high demand! And I'm guessing they will still be around in 20 years.

          I'm also yet to meet a 20 something out of uni that is close to where I'm at after my over 10 years experience. If I'm stuck in a job on old Tech I tend to move on quickly. Find a job using the tech you want to work with, there's no shortage of them. I wanted to work with Angular and .net core and found a job offering those technologies. I was also able to add mongo db as that was something I wanted to work with and it fit the software better than a relational model. Yes I had to do learning outside normal work hours but I was also able to add 10% to my wage so well worth it

        • @kaitok:
          I like your answer.

          Last but not least, how much do you think a software developer with more than a decade experience should get paid? (base salary, excluding bonus, overtime, etc p.a)

          a. 100-125k
          b. 125-150k
          c. >150k

          And yes, very similar technology with yours, just to make it simpler to compare.

        • @syousef: ummmm did you know Dom???

        • @blaccdong:

          120k - 140k base salary for a good Senior dev. 150k+for solution architect.

        • @kaitok:

          Dom? Domain Object Model?

        • @syousef: No, a person. Did u work at SST? They're the only comp that fit what you said above.

        • @kaitok: Your acronyms are too much for me. I'm going to write a perl script that stitches your socks together just as you step up onto the urinal.

        • @blaccdong: the number of years of experience does not necessarily mean someone is senior. Ive seen plenty devs with 10+ years but producing mediocre code and unable to work on a complex project.

          Being a senior dev is much more than just a number of exp years.

        • @goms:

          The number of old timers that can't code has gone down dramatically. It's a very tough job market. That doesn't mean there aren't some people hanging on. And truth be told even good programmers will have their weaknesses. But once a company realizes they can replace you with someone at half the cost, you're toast.

        • @kaitok:

          I do not like to discuss past or present employers, especially by name, on a public forum. If you want, you can PM me to talk more.

        • @goms:
          It was OP who actually said 'senior', I just used the years for benchmark. I've seen people without the 'senior' title and get paid > $150k, and not because he/she is senior but because they're productive to the company and delivered a Lot in terms of CRs, projects, etc.

          And also being productive doesn't mean being good at programming. If a process can be implemented in 100 lines of codes, why wrote 1000 lines of codes.

        • @blaccdong:

          Hey I am a software developer and I have to tell you in this industry experience does contribute very little to your salary once you have become a senior dev (normally after 3~6 yrs of practicing if you are good)

          And in numbers of IT companies, base salary could only consist no more than half of the full package. Espically if you are working for US companies like Google, Amazon or Atlassian.

          So it is fairly difficult to justify an answer to your question. I've seen ppl with more than 10 yrs exp with a base less than 100K, and I've also seen graduates with 1 yr exp making more than 125K. A contractor with Salesforce expertise nowadays can easily make 200k a year.

          It all depends on your skills and the market demand.

        • -2

          @AkiraSaito:

          Thats mostly a bunk answer, dont believe what people are saying here do the research yourself. Its not hard to find out typical salaries for large companies. If you really think those companies give people mega salaries you are deluded. If they try that hard to avoid tax do you really think they are generous to their employees ?

        • @syousef: I learnt Java in Uni in 2000. I am now an Android developer using Java 2017. Maybe you just chose an obsolete university?

        • @DerpFactory:

          I learnt Java a little earlier than you and am still using it. But I've used a whole slew of other languages. I use what I need to. And I don't expect Java to be in high demand forever. It is tomorrow's COBOL.

          I went to UTS for my Comp Sci. I'd hardly call that an obsolete university. But I've also been to USyd and UWS.

        • @DerpFactory: Are you planning to use Kotlin soon?

  • +2

    Is a university degree mandatory to succeed in software development or can self-taught individuals prosper?

    • -1

      Is a university degree mandatory to succeed in software development

      If you want to be taken seriously, then yes.

      • +18

        Lol no.

        • I wouldn't hire some scrub off the street.

        • @smuggler: What if I'm better at your job?

        • +7

          @D C:

          Unlikely to get through the door in the first place.

          In all honesty, I work in a company that develops medical devices. We have over 60 software engineers. Not a single one is without a university degree in either engineering, compsci or IT. Just giving you my two cents. It's very unlikely for us to come across some dude with the brilliance of that 16 year old app developer who works at Facebook. If you don't have emotional intelligence, a degree and experience in a reputable company then you won't get hired in big companies. Our automated resume software pretty much discounts anyone without a degree unless you have tonnes of experience.

        • +5

          @smuggler:

          I take it you are old… like nearing 40?

          I know tonnes of youngins. Bumping that top tax bracket without uni…

        • +15

          @eggmaster:

          I know tonnes of youngins. Bumping that top tax bracket without uni

          That's nice. My bosses' boss is a billionaire and CEO. Means nothing to me.

          At the end of the day, being a tradie or owning a takeaway shop is not satisfying to someone who wants to be remembered and revered by his/her peers. My uncle earns a lot of money running a labour hire business (yes, he's a mutli-millionaire), but I prefer to be involved in the forefront of innovation and do things that change the world and people's lives. Driving an AMG mercedes is only enjoyable for about 1 week.

        • +4

          I’ve never hired anyone without a degree

        • +2

          @eggmaster:

          I know you may have “put the hard yards” in & probably stayed with the same company since Christ

          You know nothing about me. I'm not even 30 years old.

        • @unclesnake:

          Me too.

        • @smuggler:

          You're not working for Atlassian are you?

        • +3

          @kaitok:

          haha…nah. You'll know the company if I mentioned what we do.

          I do use confluence, JIRA, crucible & bitbucket on a daily basis, though. Love every second of Atlassian's products.
          Thanks for reminding me to sort my cards out for the scrum tomorrow.

        • +5

          @smuggler:

          Cool.

          I used to love Atlassian stuff but keeping every issues up to date became a burden on technical development. So I outsourced all Jira stuff to our BAs and PMs, and they tell my team what needs to be done or if we have missed anything.

          A new way of Agile… LOL

        • @eggmaster:

          True, but getting in the right companies is not easy at all :)

        • @smuggler:

          You'll know the company if I mentioned what we do.

          Wink with your left eye if it's ResMed, right eye if it's Cochlear.

          Actually if anyone works at Cochlear can they PM me?

        • @smuggler:

          You don't have to be a scrub off the street, but if you've developed other projects before through to completion that's sufficient for a lot of roles.

        • +2

          @D C: I wouldn't hire anyone who thinks of himself better than others.

        • @smuggler:

          Do you really need reminding to sort your cards out? :s

        • @smuggler:

          A person without an IT degree is a scrub off the street?

          You company evidently has different policies from others, particularly if your automated software dumps certain cv's so freely.

        • -1

          @smashed:
          I read it more that smuggler doesn't have wide industry experience and hasn't worked in smaller companies or sectors, where portfolios and demos are used more often. Hiring techniques vary widely between large consultancies and startups, business/banking/finance and gaming. For risk prevention, banks might have no option but to hire based on education and formal resume where a movie graphics company doesn't have any fiduciary cares for pixels on a screen and can hire based on a video. John Carmack did most of his best programming work as a dropout. Bill Gates dropped out and survived. A non-trivial portion of Mario 64 was written by Nintendo secretaries. I have a degree, but I would only equate it to 1-1.5 years of industry experience. It would be nice to go back and ace everything in 6 months, as my favourite textbook was probably a bigger influence than the degree (and having to learn Miranda was pointless).

        • +1

          @smuggler:

          Love every second of Atlassian's products.

          You need to get out more…

          They do some things really well, my personal favourite would be Sourcetree. We're currently in the process of moving from Jira/Bitbucket to Visual Studio Online. Cheaper and less buggy from what I've seen.

        • @abb: i hope you're not from apac. XD

        • @smuggler:
          I disagree, driving an AMG is fun every single day. My A45 is a hoot!

        • @hungrypopcorn: I don't even know what "apac" means!

        • @Abaddon:

          SourceTree has to be one of the worst GUIs for Git ever. It doesnt even have a proper side by side built in diff tool, what it has is a disgrace. You also is not possible to squash a few commits into one, something TortoiseGit has done for years. Tortsoise Git is light years ahead …

        • @kaitok:

          Wow your devs cant handle typing in a few lines into a comment or updating an issue ?

          I suppose these same guys find it difficult to add doco to their classes or create big fat thousand line methods.

          Anyone who developers should be typing at least 100 wpm, so it should take them less 30 seconds to write up anything be it a ticket update, documentation, details for a pr and so on.

        • @ninetyNineCents:
          "Anyone who developers should be typing at least 100 wpm, "

          Any old words will do.

        • @ninetyNineCents:

          We do update and comment on issues, and use proper workflow, we just dont spend a lot of time nor be passionate with project mgmt tool.

          And we care about how fast the programs run, not how fast the devs can type or code.

          However people tend to complain abt the clicking noises from our area due to the devs all using mech keyboards, most of them prefer blue switches for crying out loud. I tried to convince them to use brown at least but they never listened.

        • @kaitok:

          You missed the point, your original comment seemed to imply devs skipped writing up decent tickets or commit messages and let project managers have something to do.

          Unfortunately project managers might not understand code and it doesnt take long to write up tickets so everybody in the loop has a better understranding. I would rather spend 15 minutes writing up something worthwhile in a ticket than waste a week on a ticket because they just ask for dumb stuff.

        • +1

          @ninetyNineCents:

          When I said "outsourced" I didn't imply "devs skipped writing up decent tickets or commit messages and let project managers have something to do".

          Our BAs handle all the issues while PMs focus on milestone, deliverables, stakeholder mgmt. Our issues mainly contain business cases and requirements, not much of tech solution. If your "commit messages" mean Git/version control code commit messages, then no we don't feel the need of putting those in issues.

          We've never had any problem handling projects this way, different comp and different team got their own methods, so let's agree to disagree here.

      • -2

        hahahahahaha

      • -1

        the paper degree wont help you to be taken seriously, neither will make you a professional or skilled.

        • +1

          Then why do the majority of professionals have a paper degree.

        • +3

          It is a checkbox you have to tick or you won't get anywhere.

    • +6

      Yes and No.

      If you look to start your career as a Junior developer (no prior industry experience), then you need a degree. If you don't have a degree then people will look at what you've done as a self-taught indie developer, but you have to be quite good.

      Our company just went through big recruitment process for Junior devs and the candidates we selected all had a degree.

      After a year, nobody cares about your degree anymore, they look at what you've achieved and what you learnt in a year as a professional developer.

      Self taught is mandatory for developers as they need to constantly update their knowledge due to the software industry evolving quite rapidly every year.

      • -3

        Self taught is mandatory for developers

        So what's the point of the degree then? You know how to code a linked link that you'll never implement?

        • +9

          LOL

          IMO, Uni degree actually taught me a lot of fundamental computer science knowledge. Since I took study seriously (I was an international student so had to study hard LOL), I've been able to apply a lot of those knowledge into my work.

          And you were right I haven't needed to implement a linked list in my entire career LOL, but it's good to know how it works, for example Blockchain data structure is fundamentally a huge long linked list :)

        • +10

          @D C:

          So what's the point of the degree again?

          To let your employer know that you put in the hard yards to get educated and chances are means you're intelligent. Yes, degrees do matter, especially for engineers.

          DEgrees teach you about working as a team, how to delegate and provides you a broad range of contacts. These things are essential in working as an agile team. You also get to work on projects and have access to infrastructure that you might not get otherwise.

        • -1

          @smuggler: > you put in the hard yards to get educated

          That's fits the self-taught better, does it not?

        • +4

          @D C:

          Degrees = proof. No one is going to believe you at face value. You might be able to convince a small start-up, but large businesses are much more stringent.

        • +8

          @D C:

          Sorry I didn't answer the question.

          Having a degree is essential to kick start your career as a Junior dev if you don't have enough or u have zero experience :).

          For example, we look to fill 5 Junior dev positions.

          1. We don't expect the candidates to have any prior experience, at first we compare everyone based on their degrees (where they studied, which subjects they did and which marks they got). Let's say we choose 20 out of 100 applications.

          2. We look at our schedule to see if we can interview them all and seek approval from the boss and consultation from HR (you'll be surprised how much HR involves in the recruitment process). Let's say we can only interview 12 people out of 20, then we look at if they've done anything extra (apps on iOS or Android, Github repo, open source project, website etc…), and go from there.

          However, when we look for senior dev with 5+ years of experience, we go straight into their experience and what they have achieved during their career, it's rarely that we have to look at their qualifications.


          Regarding the training, due to companies use different technology stacks, they will definitely provide appropriate training, especially if you're Junior dev. However the expectation is that you need to spend extra effort to study and get up to speed quickly with the technology stack. Senior devs will mentor, but never hold hands with Junior devs because they have a lot of work to do.


          Having a degree meant you spent 3 years of your time, effort, and lots of money on it. It will get you through the door, but from then the cycle of continuous learning and self-teaching starts again…

          I got a degree and a few years of experience but I always have to keep learning and update my skill sets with constantly evolving technology.

        • @kaitok: > we go straight into their experience

          Right, so experience trumps degree (unless you want a bunch of grads desperate to pay of their bills that you can work to death and churn while wondering why your code is crap).

          And from your comment below, you don't hire experience because you don't have budget.

          Yup, sounds like IT.

        • @D C:

          "we go straight into their experience and what they have achieved during their career, it's rarely that we have to look at their qualifications."

          Experience and achievement trump qualifications (including industry specialised certificates, not just Uni degree).

          I believe companies want experienced devs to stick around, but if someone offers them $150K while you can only afford to pay $100K then we can't keep them, it's not that we don't want to keep them.

          I am not sure if you have had any bad experience as a Junior dev, but Junior devs are treated as potential talents, not slaves in my experience.

        • +1

          Shows you can adhere to deadlines, and multi task, and it’s easy to tell people who don’t have a degree don’t know the theory behind things.

        • +2

          @unclesnake: Or those that didn't bother waiting for Uni to teach them moribund tech at snail's pace, so instead learned how to meet deadlines and multi-task developing logic that works.

          Skills that the disciplines of getting work done on time at uni help with, but not all, and some are just no good at it… etc.

        • -2

          @kaitok: > not sure if you have had any bad experience as a Junior dev

          That would have been a long time ago, if it had actually happened.

          I do contract roles and we don't bother hiring junior devs (degree or not), not worth the hassle.

        • @zerovelocity: are you saying to hire someone who couldn’t meet deadlines at uni? How would one know you met deadlines when you taught yourself. I’m not saying it’s bad, just had to prove

        • +1

          @unclesnake: > Shows you can adhere to deadlines, and multi task, and it’s easy to tell people who don’t have a degree don’t know the theory behind things

          I can almost believe you think that. Needs a :). @kaitok seems to have run out of them as well.

        • @D C: sorry don’t follow.

        • @D C:

          That makes sense if you are a merc you normally don't want to work with a newbie cause they may get you kill.

        • -1

          @unclesnake: > sorry don’t follow.

          A degree simply means you passed an exam. I know plenty of theoretical crap because at some point I've either needed to know it (less so these days) or was simply interested.

          You don't need a degree for that. Why are we trying to become the USA?

        • @unclesnake:

          I think @D C meant I overused this smiley :) and you need to :) as well

        • @kaitok: > you normally don't want to work with a newbie cause they may get you kill.

          So we don't hire the junior devs with the degree then? No experience is bad, right?

        • @D C: plus assignments doing 4 subjects in parrallel, whilst working part time.

        • @D C:

          Wohh if you're quoting you need to quote the whole sentence. I said "That makes sense if you are a merc you normally don't want to work with a newbie cause they may get you kill."

          To be clear, IT contractors = mercenaries. They go in, finish job, get the money, and move on to the next one.

        • @kaitok: > IT contractors = mercenaries.

          So we dump the juniors onto the permanents and hope they'll clean up their crap? Huh.

        • @unclesnake: Sorry I didn't elaborate- I just meant that many don't goto Uni as ithey teach so much old tech. It is changing, but once unis start hiring robot lecturers (online and in person) alternate forms of learning will be the only way to go.

          I really mean that programmers learn in many ways, uni is just one of many avenues for knowledge. Math is vital to learn from an early age. Creativity and inquisitiveness are important to develop ingenuity too. Not to mention the solid methodologies of science.

          But there are many great programmers with nothing but an unhealthy obsession with chess or some such thing to point to as a formal education.

          Good logic is one of the Great Arts, after all.

          Perhaps your parents taught you the discipline necessary… the requisite things can come in many ways, imho pieces of paper are just old-school, and always have been ;-)

        • @D C:

          Here's what I've noticed: companies with juniors normally don't hire merc.

Login or Join to leave a comment