HNHacker News
TopNewBestAskShowJobs

EnderMB

1,894 karma · joined November 28, 2009

Software Engineer with ten years professional experience, currently working as a Software Engineer in the energy industry.

I have eight years of C# experience, but I also work with a range of languages, namely Ruby, Python, TypeScript, Scala, and JavaScript.

submissionscomments
EnderMB··on Ask HN: What tech stack would you choose to bootstrap a side project in 2020?
I think the main thing you can take from the language/framework descriptions above is that you should outright ignore what people say about tools they don't actively use.

Java and C# absolutely do NOT lack a third-party ecosystem. If anything, both have immensely powerful frameworks behind them and thriving package ecosystems.

IMO, your choice only matters if the product you're building is tied to a given library. For example, you might have more luck doing ML in Python/Java than in Ruby, although there is no reason why you can't mix and match depending on what you need to do and what you're trying to accomplish with each.

EnderMB··on I'm not burned out, I'm pissed off
There's something both comforting and absolutely terrifying that everyone has similar stories of software negligence.

I would love to see a whistle-blower company formed, where you could report software engineering malpractice, and be compensated and/or protected from being punished. Not necessarily a union, but an industry body that could verify your security concerns and either "out" a company for punishing you, or provide you x months of work and a reference to compensate the termination of your employment.

EnderMB··on I'm not burned out, I'm pissed off
I'm in the UK, so all of these companies are either primarily based in the EU, or do business here.

GDPR has put some fear back in, but even today there are loads of companies that simply don't give a shit, and will happily risk it all so that they don't have to adapt their practices from years ago. In my experience, smaller companies are the worst offenders, because they know they are small fry.

Pipdig are a UK company, and have been actively caught using malicious code with proof, yet they're still running without a care in the world. This all happened recently too, so it's not like it's a pre-GDPR or pre-ICO crackdown issue.

EnderMB··on I'm not burned out, I'm pissed off
I don't explicitly work in security, but I've had a handful of arguments in the past where I've discovered a serious vulnerability, and been told either by my managers or by a client that it is low-priority.

Sometimes, the vulnerability was then exploited, and what shocked me was that people were okay with this. I won't name names, but one marketing department I worked with was happier to suffer a customer data leak over having to spend budget during the end of the year to fix the issue. I later learned that the IT department got in trouble for allowing the error to happen, when the system was entirely managed by us and our sole point of contact was with someone in marketing that left their position because they didn't get on with IT.

If there's one thing I learned, it's that the ultimate currency in business is risk, and that the software/IT industry lacks the power to really do anything when a company is found to be negligent. For many, the risk of "being caught" is worth not spending money on preventative issues, and ultimately there's absolutely nothing we can do about it outside of covering our asses when the finger is pointed our way.

You only need to look at the Panera Bread security breach to see that all the badmouthing on Twitter did nothing to stop the company from painting its own narrative. Hell, the WordPress theme/plugin company Pipdig was caught ddosing its rivals with their software, and all they had to do was lay low on social media for a month and lie in a blog post. The worst part was that their non-techie customers were all too happy to back them up, meaning that the WordPress security community had zero clout to really do anything.

I have the utmost respect for anyone that works in security, because you're fighting a battle that no one wants to win, and is often a battle where it feels your partners are silently rooting for the other side.

EnderMB··on Google’s fires four organizers after hiring union-busting firm
This kind of stuff is everywhere. It's very common with celebrities (Chris Brown being a shining example), and you see it a lot on HN with companies that are raising the bar of expectation, like Tesla.

The key similarities between the two fan bases are that they all want to be a part of something with other people, whether it's being a female fan that follows an artist with a history of abuse against women, or being a fan of a company that offers cheap perks in favour of treating employees like humans with basic needs outside of a ping pong table.

The other similarity, and it's a very cynical one that you may or may not agree with, is that many people simply don't care if it doesn't affect them - which is funny in the age of the "cancel culture".

EnderMB··on Ask HN: What do you expect from a new manager in an existing team?
Any time I've had to lead a team in the past few years, I've always done two things first (bottom-up):

* Get to know the people in the team, learn the overall vibe of the group, and how happy everyone is.

* Get the know the people above the team, their motivations for hiring you, and the tangible outcome of your hiring. You say "quality", but what does that mean? Is quality currently low? Do they feel that they could be doing more in certain areas?

From there, I would typically work to integrate myself into the team before introducing any changes. If the average person has been there for 2-3 years they've got a lot of business knowledge that I won't have. In my experience, most teams have a strong opinion of what they want to do to improve processes, but there is a business reason as to why they've not implemented those improvements.

The last time I led a team, I wanted total transparency, so we came up with an internal list of improvements and we focused on incremental and manual improvements to processes. Most of the time I wasn't even the person making the changes - I was picking up the slack so someone else could do the work, or do something they've wanted to do for months. Our processes improved over time, and as a result delivery improved dramatically. This introduced its own problems, but in the grand scheme of things the problems were nothing compared to before.

All I expect from a manager is honesty and consistency in feedback, so when I've been in those shoes I've tried to be as honest as possible, and to be as transparent as possible when my message isn't consistent with what I've said before.

EnderMB··on 16-inch MacBook Pro
Apple did have impressive build quality, but those days are long gone. I can run happily on a MBP from a few years ago, whereas the newer ones have had numerous issues.

In terms of overall quality, I'd say that MBP is now behind some of the other high-end devices. The Surface Book knocks the latest MBP versions out of the water in every department, except for the track pad. It's not difficult to argue that the keyboard, screen, durability, or even the OS is superior to Apple's (current) offering.

EnderMB··on 16-inch MacBook Pro
I'm not necessarily talking about developers.

The biggest group that I've seen move away from the MBP range aren't developers, but are creatives - either in design or in sound/music. I know a few DJ's in my local area that have largely switched to Windows laptops because they feel tools like Ableton work better, and because they feel that for the price they're paying they're not getting value for money from the MBP range.

EnderMB··on 16-inch MacBook Pro
While it's nice to see an opinionated company like Apple admit fault and revert to what people want, I wonder if this move is too late for many of those that decided to move away from Apple?

Years ago, I switched to a Surface Book, and while I'm tempted to go back for this MBP I reckon that a Surface Book update would be enough to kill any desire for the Mac range. While Apple stagnated, many of the high-end manufacturers caught up.

EnderMB··on Ask HN: What do you do when have free time?
Pick up a physical activity.

I do Brazilian Jiu-Jitsu (BJJ) and I liken it to learning how to program. It's got a huge learning curve and you can go months/years feeling like you've learned nothing, but eventually something clicks and you become proficient at certain aspects, all while being clueless around people that are much better/more experienced than you.

While it's a combat sport, I liken to think of it as "playfighting for adults". It's also great to get out of the house/office for a while and to socialise with people outside of your immediate friend/career circle. On the mat your ultimate currency is nothing to do with race, gender, career, or earning potential - all that matters is skill, and that's a great thing.

Finally, for a sport that can be rough, I find it does wonders for my back and hands. Sometimes I feel rough after 8+ hours of typing in a chair, and BJJ seems to make my hands/shoulders/back feel much better.

EnderMB··on Ask HN: What is the point of algorithm-heavy interviews?
I'm not American, so I'm not endorsing the same belief, but isn't the main criticism against the treatment of H1B visa holders related to workplace treatment (i.e. work longer hours/accept extra work or you're kicked out of the country) instead of pay?
EnderMB··on Ask HN: Do you have experience with school bullying?
I was lucky enough to not suffer much from bullying. I was introverted and nerdy, but I also liked sports and was lucky enough to look athletic enough that people wouldn't start fights with me. I'd get the occasional bit of verbal bullying, but again I've been lucky enough to be able to brush it off and not let it bother me. Sadly, a lot of my friends at the time didn't have the same luck, and I watched a lot of people get picked on for years.

Not standing up for them was one of my biggest regrets as a kid, because I watched it destroy some of them. The common stereotype of nerds growing up to be successful and having character, while the bully rots in some run-down area is far from the truth. It might happen, but I've seen plenty of assholes from my school days have decent lives while old friends from school have gone from zero confidence as a kid to zero confidence as an adult.

It's one thing that I shared with many of these kids. I had very little confidence in myself as a kid, but thankfully I've managed to find some thanks to a mixture of a decent career, keeping fit, and being involved in combat sports. For the past few years I've done BJJ and some MMA, and despite being an adult that hasn't had a "real fight" since I was a kid, the confidence I feel from being able to defend myself enough to run away/escape is life-changing.

It's probably the kind of advice you'd get from a boomer, but I'd recommend enrolling a kid in a combat sport like BJJ or Kickboxing, if not to teach them to fight, then to instil some confidence in their ability to defend themselves from someone attacking them or their friends. Confidence in something/anything is key.

EnderMB··on Ask HN: What is the point of algorithm-heavy interviews?
I never said it was a problem. I have a CS degree so it doesn't hugely bother me. IMO, it's a necessary hurdle to ensure that you aren't swamped by thousands of candidates at every location.

With that being said, I would consider knowledge of DSA and the knowledge required for a FAANG level interview to be subtly different. There's a big difference in knowing how to implement basic data structures, sorting algorithms, and implementing BFS/DFS on a graph, and being able to dissect a LeetCode style coding problem and implement a solution that's good enough for a FAANG-tier company.

As far as people being one-trick ponies, I would disagree. They've simply specialised in a different aspect of software engineering, and just like how a Google engineer can learn to build a dynamic API wrapper with Ruby meta-programming and Rails, a Ruby engineer can learn dynamic programming and Dijkstra's algorithm.

EnderMB··on Ask HN: What is the point of algorithm-heavy interviews?
To create a barrier to entry that weeds out over 90% of applicants.

IMO, this is the sole purpose of algortihm-heavy interviews. Companies like Google can put out a job ad and receive thousands and thousands of applicants, and the sad truth is that many of them could probably do the job that is required of them.

By putting in a loose requirement around what is essentially problem solving via known algorithmic techniques that you'll rarely ever use in day-to-day life, you can both weed out most applicants and ensure that the developers that perform the best aren't looking for an insane pay packet. After all, if you can stack rank yourself purely in programming ability, you've probably got an impressive CV and a body of previous work that means you probably don't need to work at FAANG or Microsoft to create something incredible.

I'd probably also say that there is an element of ageism, purely because older people have more responsibilities, and ultimately are more willing to spend time in the office over strictly working 9-6.

EnderMB··on Is “Investing in improving structure” better than “Paying off technical debt”?
I'm glad you've raised this, because it's something I've felt for a long time.

A few friends of mine work in accredited professions, and it's not something they have to deal with all that much, most likely because they are all accredited. They are billed by the hour, and typically if someone isn't happy with the cost the response is "okay, we'll down tools". Inversely, companies that bid on contracts will bid with a fixed cost in mind, and when estimates are taken that go over the requirements things will be fudged to fit the requirement in for that price. This means one of three things: corners will be cut, developers have to work faster, or requirements are cut. In my experience, the last point is a rarity.

I know that we software engineers like to think of ourselves as thought workers, and on the same level as the likes of lawyers and chartered accountants, but the way our industries operate are wildly different. I prefer to compare software engineering to a trade like carpentry, plumbing, etc. We share many similarities, such as easy barrier to entry and working on fixed-cost projects, but unlike trades, we're always willing to negotiate on our next pay day. You can say it's down to a difference in costs, but even on an industrial level where the person doing the sale isn't a trades-person, if a job requires £x and the client can only pay £y, then the requirements change or the job isn't taken on.

EnderMB··on Ask HN: What are some B.S. tricks management pulls on naive developers?
As someone that has spent years in consultancies and agencies, this one stings a lot.

A slightly different scenario I see all the time, even today, is when a company takes on a fixed-cost job to build something. We come up with a basic MVP feature set, run it through the standard MoSCoW process, and then estimate how long each feature will take.

We end up with a final figure, and it's over budget. We strip things out, and it's still over budget. Rather than cut out features the client wants, estimates are cut down to fit the budget, or planning time is stripped out and we're expected to go straight into a build.

Funny enough, these projects always run over, and we always end up missing a ton of stuff the client wanted, because in the process of being lean we forgot to do any kind of documentation of changes, or to explicitly get in writing what the feature is supposed to do.

EnderMB··on My boss doesn't want to keep growing the company
Something I learned pretty quickly in building software is that no one is irreplaceable. I've seen lead developers that do literally everything walk out and never come back, and despite teething issues and an occasional lost contract, the company almost always survives.

I echo the other comments, but one thing you mentioned made me curious. You say it's an older company, but that they moved state? If that's the case, then is it possible to either move state again or to open up in another state as a satellite office? Maybe one option available for you is relocation, and to put your money where your mouth is.

Try asking your boss if he'd be open to opening another location, and giving you a goal of growing it over the space of six months to a year. If you succeed, then you continue there - if you fail, you accept redundancy.

EnderMB··on Ask HN: How has learning a new language helped you in your career?
Confidence, mostly.

I started out as a .NET developer, and I worked my way up from junior to senior over the space of a few years. At my last .NET role, I helped shape the structure of .NET development for my satellite office and the growing London team.

Despite being considered a decent enough .NET developer, I had felt a bit of imposter syndrome around my skills. In the wider tech community, .NET and C# has always been a pariah, and while looking at who was hiring in my local area, I decided to apply for a role that didn't involve any .NET.

Now, I write Ruby, and while there was a learning curve to start with, I can firmly say that I am capable of adapting to a new stack. I like Ruby, and I still like .NET, but I feel so much more confident about learning new things now that I've proved that I can do it.

EnderMB··on Ghost 3.0
I remember when Ghost was released years ago, and I remember thinking "wow, these people have actually gone and released a solid blogging platform to replace the shitshow that is WordPress!". At the time, I was making some decent freelance money from porting botched WordPress builds onto the Umbraco CMS, so my opinion of WP has always been pretty low. Ghost looked like a fantastic publishing tool that was ahead of its time.

Obviously, things have changed a lot since then, and to be honest I never really kept much of an eye on Ghost until two people I used to work with started working for Ghost. Now, Ghost is being pushed as a headless CMS, and seems heavily aligned to the JAM stack.

From what I've seen and heard, this looks like a fantastic release and you should all be proud of this milestone, and just how far Ghost has come. With that being said, there's a niggling thought in my head that won't go away.

What's to stop Ghost from becoming WordPress v2?

EnderMB··on Ask HN: Feasible Alternative to the MacBook Pro?
I've sung it's praises for years on here, and I'll do it again.

The Surface Book is the best laptop I've owned. The build quality is better than the MBP, and despite owning it for years it's as fast as it was when I first bought it. I've had zero issues with it, and I use it almost daily.

It's also not a bad Linux laptop, if that's your thing. I find myself booting into Debian less and less nowadays, but if you want to mainly use Linux it's possible.

My sole gripe with it is that the trackpad isn't as good as the MBP, but it's very close.

EnderMB··on Ask HN: What are some well-designed, but less well-known native Mac apps?
It's been a while since I've had to do it, but I'm pretty sure that all you need to do is build a collection of your endpoints, and right-click -> export. This will save it as a JSON file, and while it's not pretty, it's importable and allows you to merge.
EnderMB··on .NET Core 3.0 Concludes the .NET Framework API Porting Project
For reference, I'm mostly talking about brand-new projects, and purely from my perspective as a former .NET dev that still spends time with the local .NET community.

I've not met a single .NET dev that doesn't want to use .NET Core. Hell, if anything, a lot of them would love the opportunity to use .NET on a Unix system, and to use established tooling not available on Windows. The problem is that the tools they use aren't ported yet.

Umbraco is a key example, as the most popular .NET CMS in use today. It's a great CMS, but we're at least 1-2 years away from a .NET Core implementation, and probably even longer if we're hoping for a first-class Postgres/MySQL backed implementation. Until then, as you've rightly said, there's no need to switch to .NET Core.

EnderMB··on Ask HN: What are some well-designed, but less well-known native Mac apps?
This is the reason I still use Postman.

It's got a nice interface for throwing some HTTP requests around, but compared to the likes of Paw it's a pain in the ass to set up an API spec. Regardless, the ability to merge these files is too essential to use anything else.

EnderMB··on .NET Core 3.0 Concludes the .NET Framework API Porting Project
There are some similarities to Python 3 in .NET Core adoption.

I know plenty of people that would love nothing more than to be up to date and to start using .NET Core, but many of them rely on certain libraries that simply aren't there yet. I know a load of Umbraco devs that are eager to make the jump, but until their CMS supports it, they're kinda stuck if it's a dependency.

EnderMB··on Ask HN: What are some well-designed, but less well-known native Mac apps?
Being able to claim requests together with such an easy to use interface is fantastic.

My only real gripe with Paw is that the default save mechanic produces a binary file. If you're providing paw files as documentation in a repo, this makes concurrent branches a pain because there's no ability to merge changes.

Unless I'm missing something? It's been a while since I've used it in anger.

EnderMB··on Ask HN: How did your startup change after an exit?
I worked for a legal startup as the lead dev. When written like this is sounds cool, but in reality I was a fresh dev out of university thrust into a top job with no idea what to do, and with a similarly skilled team we bullshitted our way towards a product that got acquired by a large multinational company (again, non-tech). It wasn't a huge acquisition, but enough to make the directors rich.

I left just after the acquisition went through, because I wanted to work for a company where I could be mentored instead of swimming on my own, but I'm still friends with a lot of the people I worked with, so most of this is from an outsider looking in, but with stories from those still in the company.

The parent company swallowed the whole company, and while the product was still under the original startup name, it was built with the whole parent companies resources. While the product sadly no longer exists, they invested heavily in making sure it was a top resource, and fed into their main business.

Culturally, the place changed considerably. They went from penny pinching to giving generous budgets and perks to their employees. They were still to date the only company I've known that gave software engineers full flexitime - allowing people to work extra hours to build up extra holiday, and allowing people to take holiday whenever they wanted, with a day of notice. It all sounded amazing, but the biggest problems many of their faced was that the dev team didn't really improve. The company itself didn't have any other developers, so the same group of recent grads worked together for years. They've all left the team now, but many of them spent years working on a product without any other input. In this time, I had worked at three different companies with dozens of other talented developers, and I had learned a ton from them. Would you trade in mentorship and peer learning over insane company perks?

The last one is a negative one. The startup had several "divisions", and while the product is what got us acquired, the main money-bringer for several months was a call centre used to cold-call companies to pass on leads. They also dabbled in PPI, and other schemes from that time. We all knew that it was the product we had built that the company had wanted, and although everyone had been given new contracts at our new parent company, it became pretty clear that it was "only" the product. After a year, the owner had left the parent company to start a new venture, and mere weeks later everyone outside of the core product team that hadn't moved into other roles were made redundant. Our core product team consisted of about 8 people, in a company of around 50. A year after the acquisition was complete, only around a dozen remained.

EnderMB··on Fortnite has been down for hours as millions of players stare at a black hole
Cataclysmic events in online games are always a great watch.

One of the most memorable ones in recent history for me was in Final Fantasy XIV. The original release of the game met with negative reviews, so Square Enix decided to re-release it with fixes and a new story arc. I never played it, but the video of the last few seconds on that server before transitioning to the update is great.

https://www.youtube.com/watch?v=YgEg8kXmifo

I don't play Fortnite, but the seasonal release cycle seems to work nicely for games like this. It provides new content regularly, and means that you get to see actual change in a game, rather than feature after feature until the game is a bloated mess.

EnderMB··on Ask HN: How many of you have been impacted by a layoff?
Yep, from my second job out of uni at a well-known agency. I was told my phone while on holiday, and when I returned the next Monday we were told that we may as well go home for that day since there wasn't anything left to do.

Thankfully, one of the agencies we sub-contracted to took our clients on, and offered to take us on for our remaining month of redundancy, so on Tuesday I was in a new office. Sadly, only one of us was offered a job, and it was me, but the rest of my work mates managed to find jobs to start at the end of redundancy.

That month sucked. I had gone from what I perceived to be a wildly successful, award-winning company to uncertainty at a shitty agency. I spent nearly four years at that agency, and worked on a number of fantastic projects - some of which I still talk about now. In all honesty, being made redundant was one of the best things to happen to me.

EnderMB··on Dyson has scrapped its electric car project
Dyson always seem to struggle to find employees for their HQ in Malmesbury. They pay well, but the work rarely seems all that interesting, and young people don't seem to want to move outside of the main cities to work for a company with a not-so-great reputation.
EnderMB··on Ask HN: Who wants to be hired? (October 2019)

  Location: Bristol, United Kingdom
  Remote: Yes (have experience)
  Willing to relocate: Yes - happy to relocate to London or NYC if option is available.
  Technologies: Ruby/Rails, C#/ASP.NET, SQL, JavaScript - I'm happy to try anything.
  Résumé/CV: https://www.linkedin.com/in/mikejpbull/
  GitHub: https://github.com/mikebull/
  Email: hello [at] mikebull [dot] info
I'm a backend developer with nine years experience in industry. My experience is mostly with startups and agencies, with a number of successful and large-scale projects. As noted above I am happy to work with any modern tech stack, and I am now actively looking for new roles to start ASAP.
← PreviousPage 2 of 26Next →